کرش کردن برنامه تبدیل واحد...
سلام
این برنامه رو نوشتم ولی فقط میلی متر درست کار میکنه
به بقیه وقتی عدد میدم کرش میکنه
ممنون میشم راهنماییم کنید
هرچی فکر کردم چیزی رو نفهمیدم!!!
package ir.ezakmi.app.converter;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnFocusChangeListener;
import android.widget.EditText;
import android.widget.ImageView;
public class Activity2 extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main2);
final EditText edtmm = (EditText) findViewById(R.id.edtmm);
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 ImageView edtconvert = (ImageView) findViewById(R.id.edtconvert);
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("");
}
});
edtconvert.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
double mm = 0;
if (edtmm.getText().toString().length() > 0) {
mm = Double.parseDouble(edtmm.getText().toString());
}
if (edtcm.getText().toString().length() > 0) {
mm = Double.parseDouble(edtmm.getText().toString()) * 10.0;
}
if (edtm.getText().toString().length() > 0) {
mm = Double.parseDouble(edtmm.getText().toString()) * 1000.0;
}
if (edtkm.getText().toString().length() > 0) {
mm = Double.parseDouble(edtmm.getText().toString()) * 1000000.0;
}
edtmm.setText("" + mm);
edtcm.setText("" + mm * 0.1);
edtm.setText("" + mm * 0.001);
edtkm.setText("" + mm * 0.000001);
}
});
}
}
if (edtm.getText().toString().length() > 0) {
mm = Double.parseDouble(edtmm.getText().toString()) * 1000.0;
}
if (edtkm.getText().toString().length() > 0) {
mm = Double.parseDouble(edtmm.getText().toString()) * 1000000.0;
}
تو این خط ها از برنامتون تو قسمت if نام تکستونو عوض کردین ولی داخل شرط برای همشون گذاشتین (edtmm.getText().toString()).
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .