بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
سوال : مشکل کد من در برنامه تبدیل واحد (حل شد )
اول از همه ببخشید انقدر سوال میپرسم
الان حدود دو ساعت هست که دارم با این کد ور میرم ولی نمیدونم چرا وقتی روی دکمه convert کلیک میکنم برنامه کرش میکنه البته قسمت mm درست کار میکنه یعنی موقعی که یک عدد توی قسمت mm میزنم و دکمه convert رو میزنم درست تبدیل میکنه ولی وقتی توی قسمت های دیگه عدد مینویسم و کانورت رو میزنم بر نامه کرش میکنه
خطا های LogCat
اینم از کد
public class Distance extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.distance);
final EditText edtcm = (EditText) findViewById(R.id.edtcm);
final EditText edtm = (EditText) findViewById(R.id.edtm);
final EditText edtkm = (EditText) findViewById(R.id.edtkm);
final EditText edtmm =(EditText) findViewById(R.id.edtmm);
final Button btnconvert = (Button) findViewById(R.id.btnconvert);
edtmm.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View arg0, boolean arg1) {
edtcm.setText(" ");
edtm.setText(" ");
edtkm.setText(" ");
});
edtcm.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View arg0, boolean arg1) {
edtmm.setText(" ");
edtm.setText(" ");
edtkm.setText(" ");
}
});
edtm.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View arg0, boolean arg1) {
edtcm.setText(" ");
edtmm.setText(" ");
edtkm.setText(" ");
}
});
edtkm.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View arg0, boolean arg1) {
edtcm.setText(" ");
edtm.setText(" ");
edtmm.setText(" ");
}
});
btnconvert.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (edtmm.getText().toString().length() > 0){
double mm = Double.parseDouble(edtmm.getText().toString());
edtcm.setText(""+(mm*0.1));
edtm.setText(""+( mm*0.001));
edtkm.setText(""+(mm*0.000001));
return;
}
if (edtcm.getText().toString().length() > 0){
double cm = Double.parseDouble(edtcm.getText().toString());
edtmm.setText(""+(cm*10));
edtm.setText(""+( cm*0.01));
edtkm.setText(""+(cm*0.00001));
return;
}if (edtm.getText().toString().length() > 0){
double m = Double.parseDouble(edtm.getText().toString());
edtmm.setText(""+(m*1000));
edtcm.setText(""+( m*100));
edtkm.setText(""+(m*0.001));
return;
}if (edtkm.getText().toString().length() > 0){
double km = Double.parseDouble(edtkm.getText().toString());
edtmm.setText(""+(km*1000000));
edtcm.setText(""+( km*100000));
edtm.setText(""+(km*1000));
return;
}
}
});
+1
0
برای این که دوستان بتونن بهتر مشکل شما رو متوجه بشوند خطاهای موجود در لاگ کت را بنویسید و کد را کوتاه تر کنید . (10 سال پیش)
0
0
کد رو تا میشد کوتاه کردم و خطا های لوگ کت رو در موقع کرش گذاشتم (10 سال پیش)
+1
0
لطفا عکس را در سایت آپلود کنید تا بهتر دیده شود ، مشکل شما به خاطر این هست که برخی از EditBox های شما مقدار "" دارند و نمیتوان این مقدار را به عدد تبدیل کرد و باید قبل از خواندن داده ها از EditBox چک کنید در صورتی که مقدار String برابر "" نباشد محاسبه انجام شود ، فکر میکنم این سوال حدود 8 بار در انجمن مطرح شده :) (10 سال پیش)
+1
0
سلام ، اون جاهایی که فوکوس تغییر میکنه ( setOnFocusChangeListener ) به جای " " مقدار "" بذار . یعنی توش فاصله نذار . مشکل 100 % به خاطر اینه ، این کار رو بکن حل میشه . (10 سال پیش)
0
0
ممنون از راهنماییتون حل شد (10 سال پیش)
0
0
امتحانمتن پررنگ (9 سال پیش)
برای این سوال پاسخی وجود ندارد.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .