بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

کرش کردن برنامه تبدیل واحد...

مدیریت گفتگو
مهدی رفیعی 11 سال پیش
آخرین تغییر: 11 سال پیش

سلام

این برنامه رو نوشتم ولی فقط میلی متر درست کار میکنه

به بقیه وقتی عدد میدم کرش میکنه

ممنون میشم راهنماییم کنید

هرچی فکر کردم چیزی رو نفهمیدم!!!

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);

            }
        });
    }
}

نظرات

پاسخ‌ها 1

ATRAS 11 سال پیش

         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()).

نظرات


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