Paranormal

خطای اجرای رویداد Onclick

2 ارسال در این موضوع قرار دارد

ارسال شده در (ویرایش شده)

با سلام . 

یه ماشین حساب خیلی ساده نوشتم که ابتدا جواب هارو با Toast نشون می داد ولی بعد دوست داشتم که از Custom Toast استفاده همه کد هارو زدم و هیچ خطایی در اندروید استدیو نبود . 

ولی هنگام اجرا بعد از زدن دکمه ها برنامه خطا میده و بسته میشه . 

public class MainActivity extends AppCompatActivity {
    EditText edt1, edt2;
    Button btnp, btnm, btns, btnd;

    double num1, num2=0.0;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        FindView();
        initialize();


    }

    public void FindView() {
        btnd = (Button) findViewById(R.id.btn3);
        btnm = (Button) findViewById(R.id.btn2);
        btnp = (Button) findViewById(R.id.btn1);
        btns = (Button) findViewById(R.id.btn4);
        edt1 = (EditText) findViewById(R.id.editText);
        edt2 = (EditText) findViewById(R.id.editText2);
    }

    public void initialize() {
        Settypeface();
        SetSize();
    }

    public void Settypeface() {
        Typeface font = Typeface.createFromAsset(getAssets(), "Fonts/segoepr.ttf");
        btnp.setTypeface(font);
        btns.setTypeface(font);
        btnm.setTypeface(font);
        btnd.setTypeface(font);

        edt1.setTypeface(font);
        edt2.setTypeface(font);

    }

    public void SetSize() {
        float Size = 25;
        btnp.setTextSize(Size);
        btnm.setTextSize(Size);

        btnd.setTextSize(Size);
        btns.setTextSize(Size);
        edt1.setTextSize(Size * 2);
        edt2.setTextSize(Size * 2);

    }

    public void Click(View v) {
        int id = v.getId();
        num1 = Double.parseDouble(edt1.getText().toString());
        num2 = Double.parseDouble(edt2.getText().toString());

        switch (id) {
            case R.id.btn1:
//                Toast2(num1+num2+"");
                Toast.makeText(getApplicationContext(),num1+num2+"",Toast.LENGTH_LONG).show();
                edt1.setText("");
                edt2.setText("");

                break;
            case R.id.btn2:
//                Toast2(num1/num2+"");
               Toast.makeText(getApplicationContext(),num1-num2+"",Toast.LENGTH_LONG).show();
                edt1.setText("");
                edt2.setText("");

                break;
            case R.id.btn3:
                if (num2!=0){
//                    Toast2(num1/num2+"");
               Toast.makeText(getApplicationContext(),num1/num2+"",Toast.LENGTH_LONG).show();
                    edt1.setText("");
                    edt2.setText("");
                   }
                else
                Toast.makeText(getApplicationContext(),"تعریف نشده است",Toast.LENGTH_LONG).show();
//                    Toast2("تعریف نشده است");
                edt1.setText("");
                edt2.setText("");
                break;
            case R.id.btn4:
//                Toast2(num1*num2+"");
                Toast.makeText(getApplicationContext(),num1*num2+"",Toast.LENGTH_LONG).show();
                edt1.setText("");
                edt2.setText("");

                break;

            default:
                Toast.makeText(getApplicationContext(),"تعریف نشده است",Toast.LENGTH_LONG).show();
//                Toast2("تعریف نشده است");
                break;
        }
    }
    public void Toast2(String e){
        LayoutInflater inflater=getLayoutInflater();
        View layout2=inflater.inflate(R.layout.toast1,(ViewGroup)findViewById(R.id.tst1));
        TextView txt1=(TextView)findViewById(R.id.txt1);
        assert txt1 != null;
        txt1.setText(e);
        Toast toast3=new Toast(getApplicationContext());
        toast3.setGravity(Gravity.CENTER_HORIZONTAL,0,0);
        toast3.setDuration(Toast.LENGTH_LONG);
        toast3.setView(layout2);
        toast3.show();
    }
}

پیام خطا : 

06-05 15:22:34.423 5638-5689/com.prowebsaz.simplecalculator E/Surface: getSlotFromBufferLocked: unknown buffer: 0xaaa6cc70
06-05 15:24:18.813 5638-5689/com.prowebsaz.simplecalculator E/Surface: getSlotFromBufferLocked: unknown buffer: 0xaaa6c880
06-05 15:24:20.690 5638-5689/com.prowebsaz.simplecalculator E/Surface: getSlotFromBufferLocked: unknown buffer: 0xaaa6c9d0
06-05 15:24:26.970 5638-5689/com.prowebsaz.simplecalculator E/Surface: getSlotFromBufferLocked: unknown buffer: 0xaaa6e480
06-05 15:24:28.408 5638-5638/com.prowebsaz.simplecalculator E/AndroidRuntime: FATAL EXCEPTION: main
                                                                              Process: com.prowebsaz.simplecalculator, PID: 5638
                                                                              java.lang.IllegalStateException: Could not execute method for android:onClick
                                                                                  at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:293)
                                                                                  at android.view.View.performClick(View.java:5198)
                                                                                  at android.view.View$PerformClick.run(View.java:21147)
                                                                                  at android.os.Handler.handleCallback(Handler.java:739)
                                                                                  at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                                  at android.os.Looper.loop(Looper.java:148)
                                                                                  at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                                                  at java.lang.reflect.Method.invoke(Native Method)
                                                                                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                                                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
                                                                               Caused by: java.lang.reflect.InvocationTargetException
                                                                                  at java.lang.reflect.Method.invoke(Native Method)
                                                                                  at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288)
                                                                                  at android.view.View.performClick(View.java:5198) 
                                                                                  at android.view.View$PerformClick.run(View.java:21147) 
                                                                                  at android.os.Handler.handleCallback(Handler.java:739) 
                                                                                  at android.os.Handler.dispatchMessage(Handler.java:95) 
                                                                                  at android.os.Looper.loop(Looper.java:148) 
                                                                                  at android.app.ActivityThread.main(ActivityThread.java:5417) 
                                                                                  at java.lang.reflect.Method.invoke(Native Method) 
                                                                                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                                                                                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
                                                                               Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
                                                                                  at com.prowebsaz.simplecalculator.MainActivity$override.Toast2(MainActivity.java:128)
                                                                                  at com.prowebsaz.simplecalculator.MainActivity$override.access$dispatch(MainActivity.java)
                                                                                  at com.prowebsaz.simplecalculator.MainActivity.Toast2(MainActivity.java:0)
                                                                                  at com.prowebsaz.simplecalculator.MainActivity$override.Click(MainActivity.java:83)
                                                                                  at com.prowebsaz.simplecalculator.MainActivity$override.access$dispatch(MainActivity.java)
                                                                                  at com.prowebsaz.simplecalculator.MainActivity.Click(MainActivity.java:0)
                                                                                  at java.lang.reflect.Method.invoke(Native Method) 
                                                                                  at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288) 
                                                                                  at android.view.View.performClick(View.java:5198) 
                                                                                  at android.view.View$PerformClick.run(View.java:21147) 
                                                                                  at android.os.Handler.handleCallback(Handler.java:739) 
                                                                                  at android.os.Handler.dispatchMessage(Handler.java:95) 
                                                                                  at android.os.Looper.loop(Looper.java:148) 
                                                                                  at android.app.ActivityThread.main(ActivityThread.java:5417) 
                                                                                  at java.lang.reflect.Method.invoke(Native Method) 
                                                                                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                                                                                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
 

ویرایش شده در توسط Paranormal

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

احتمال مشکل از ناسازگاری تم هست

برای منم همچین چیزی پیش اومده، تم رو عوض کردم درست شد:|

 

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری