آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

خطای force close در هنگام فراخوانی یک activity بدون مشکل

مجتبی  11 سال پیش  11 سال پیش
0 0

با سلام خدمت دوستان (همکاران)

مشکلی وقتی میخوام این اکتیویتی رو اجرا کنم، از برنامه خارج میشه.این در حالی هست که اکتیویتی هایی شبیه این درست کردم ولی به مشکلی نخوردم.توی منوی اصلیم فقط با این یکی مشکل دارم.این اکتیویتی توی manifest و اکتیویتی اصلی تعریف شده.لطفا راهنماییم کنید.ممنونم.

package ir.mhn.course.app.iunit_converter;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnFocusChangeListener;
import android.widget.Button;
import android.widget.EditText;


public class WeigthActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.weigth);

        final EditText edtGe = (EditText) findViewById(R.id.edtGe);
        final EditText edtMe = (EditText) findViewById(R.id.edtMe);
        final EditText edtOn = (EditText) findViewById(R.id.edtOn);
        final EditText edtSe = (EditText) findViewById(R.id.edtSe);
        final EditText edtPo = (EditText) findViewById(R.id.edtPo);
        final EditText edtKi = (EditText) findViewById(R.id.edtKi);
        final EditText edtTo = (EditText) findViewById(R.id.edtTo);

        Button btnConvert = (Button) findViewById(R.id.btnConvert);
        edtGe.setOnFocusChangeListener(new OnFocusChangeListener() {

            @Override
            public void onFocusChange(View arg0, boolean arg1) {
                edtMe.setText("");
                edtOn.setText("");
                edtSe.setText("");
                edtPo.setText("");
                edtKi.setText("");
                edtTo.setText("");
            }
        });

        edtMe.setOnFocusChangeListener(new OnFocusChangeListener() {

            @Override
            public void onFocusChange(View arg0, boolean arg1) {
                edtGe.setText("");
                edtOn.setText("");
                edtSe.setText("");
                edtPo.setText("");
                edtKi.setText("");
                edtTo.setText("");
            }
        });
        edtOn.setOnFocusChangeListener(new OnFocusChangeListener() {

            @Override
            public void onFocusChange(View arg0, boolean arg1) {
                edtGe.setText("");
                edtMe.setText("");
                edtSe.setText("");
                edtPo.setText("");
                edtKi.setText("");
                edtTo.setText("");
            }
        });
        edtSe.setOnFocusChangeListener(new OnFocusChangeListener() {

            @Override
            public void onFocusChange(View arg0, boolean arg1) {
                edtGe.setText("");
                edtMe.setText("");
                edtOn.setText("");
                edtPo.setText("");
                edtKi.setText("");
                edtTo.setText("");
            }
        });

        edtPo.setOnFocusChangeListener(new OnFocusChangeListener() {

            @Override
            public void onFocusChange(View arg0, boolean arg1) {
                edtGe.setText("");
                edtMe.setText("");
                edtOn.setText("");
                edtSe.setText("");
                edtKi.setText("");
                edtTo.setText("");
            }
        });

        edtKi.setOnFocusChangeListener(new OnFocusChangeListener() {

            @Override
            public void onFocusChange(View arg0, boolean arg1) {
                edtGe.setText("");
                edtMe.setText("");
                edtOn.setText("");
                edtSe.setText("");
                edtPo.setText("");
                edtTo.setText("");
            }
        });

        edtTo.setOnFocusChangeListener(new OnFocusChangeListener() {

            @Override
            public void onFocusChange(View arg0, boolean arg1) {
                edtGe.setText("");
                edtMe.setText("");
                edtOn.setText("");
                edtSe.setText("");
                edtPo.setText("");
                edtKi.setText("");
            }
        });
        btnConvert.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                //compute محاسبه

                double gr = 0;
                if (edtGe.getText().toString().length() > 0) {
                    gr = Double.parseDouble(edtGe.getText().toString());
                }
                if (edtMe.getText().toString().length() > 0) {
                    gr = Double.parseDouble(edtGe.getText().toString()) * 4.7;
                }
                if (edtOn.getText().toString().length() > 0) {
                    gr = Double.parseDouble(edtGe.getText().toString()) * 28.35;
                }
                if (edtSe.getText().toString().length() > 0) {
                    gr = Double.parseDouble(edtGe.getText().toString()) * 75;
                }
                if (edtPo.getText().toString().length() > 0) {
                    gr = Double.parseDouble(edtGe.getText().toString()) * 453.56;
                }
                if (edtKi.getText().toString().length() > 0) {
                    gr = Double.parseDouble(edtGe.getText().toString()) * 1000;
                }
                if (edtTo.getText().toString().length() > 0) {
                    gr = Double.parseDouble(edtGe.getText().toString()) * 1000000;
                }

                edtGe.setText("" + gr);
                edtMe.setText("" + gr / 4.7);
                edtOn.setText("" + gr / 28.35);
                edtSe.setText("" + gr / 75);
                edtPo.setText("" + gr / 453.56);
                edtKi.setText("" + gr / 1000);
                edtTo.setText("" + gr / 1000000);

            }

        });
    }
}
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
Ghost  11 سال پیش
+1 0

این قسمت رو درست کن

 double gr =0;if(edtGe.getText().toString().length()>0){
gr
=Double.parseDouble(edtGe.getText().toString());}if(edtMe.getText().toString().length()>0){ gr =Double.parseDouble(edtMe.getText().toString())*4.7;}if(edtOn.getText().toString().length()>0){ gr =Double.parseDouble(edtOn.getText().toString())*28.35;}if(edtSe.getText().toString().length()>0){ gr =Double.parseDouble(edtSe.getText().toString())*75;}if(edtPo.getText().toString().length()>0){ gr =Double.parseDouble(edtPo.getText().toString())*453.56;}if(edtKi.getText().toString().length()>0){ gr =Double.parseDouble(edtKi.getText().toString())*1000;}if(edtTo.getText().toString().length()>0){ gr =Double.parseDouble(edtTo.getText().toString())*1000000;} edtGe.setText(""+ gr); edtMe.setText(""+ gr /4.7); edtOn.setText(""+ gr /28.35); edtSe.setText(""+ gr /75); edtPo.setText(""+ gr /453.56); edtKi.setText(""+ gr /1000); edtTo.setText(""+ gr /1000000);

 

0 0
پس چرا وقتی من کدها رو اینجا کپی میکنم اینجوی میشه ! خراب میشه ؟! (11 سال پیش)
0 0
مرسی عزیز.آره ظاهرا به هم میچسبونه عبارتا رو.ممنون از چوابت. (11 سال پیش)
0 0
ولی دقیقا همین کد رو با تغییر متغیر double اولی انجام دادم تو یه اکتیویتی دیگه و جواب گرفتم.نمیدونم چرا اینجا جواب نمیده. (11 سال پیش)
0 0
یه مشکل دیگه هم هست، گاهی وقتا بعضی اعداد رو تو بعضی کادر های تبدیل میزنم،بازم خطای force close میده (11 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .