簡體   English   中英

適用於Android 2.3設備的EditText TextWatcher java.lang.NullPointerException

[英]EditText TextWatcher java.lang.NullPointerException for android 2.3 devices

我使用edittext和textwatcher。 我的應用程序在android 2.3上運行時崩潰

我使用以下代碼:

MyEditText.addTextChangedListener(new TextWatcher() {

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {


            }

            @Override
            public void beforeTextChanged(CharSequence s, int start, int count,
                    int after) {


            }

            @Override
            public void afterTextChanged(Editable s) {
                if(salam!=null){

                    Mybit = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(),Config.ARGB_8888);
                    Canvas canvas = new Canvas(Mybit);
                    canvas.drawBitmap(bitmap, 0, 0, null);
                    Drawtext = s.toString();
                    Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
                    paint.setColor(Color.BLACK);
                    paint.setTextSize(320);
                    paint.setStyle(Style.FILL);
                    paint.setShadowLayer(10f, 10f, 10f, Color.BLACK);
                    paint.setTextAlign(Align.CENTER);
                    Rect rectText = new Rect();
                    paint.getTextBounds(Drawtext, 0, Drawtext.length(), rectText);
                    int x = (canvas.getWidth() / 2);
                    int y = (int) ((canvas.getHeight() / 2) - ((paint.descent() + paint.ascent()) / 2)) ; 
                    canvas.drawText(Drawtext, x, y, paint);


                }

            }
        });

一位用戶向我發送了以下日志:

java.lang.RuntimeException: Unable to start activity ComponentInfo{**************************************.MainActivity}: java.lang.NullPointerException
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1816)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1837)
    at android.app.ActivityThread.access$1500(ActivityThread.java:132)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1033)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:143)
    at android.app.ActivityThread.main(ActivityThread.java:4196)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:507)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
    at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
    at ********************************.afterTextChanged(MainActivity.java:195)
    at android.widget.TextView.sendAfterTextChanged(TextView.java:6561)
    at android.widget.TextView.setText(TextView.java:2821)
    at android.widget.TextView.setText(TextView.java:2682)
    at android.widget.EditText.setText(EditText.java:84)
    at android.widget.TextView.setText(TextView.java:2657)
    at android.widget.TextView.onRestoreInstanceState(TextView.java:2557)
    at android.view.View.dispatchRestoreInstanceState(View.java:6325)
    at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1279)
    at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1279)
    at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1279)
    at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1279)
    at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1279)
    at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1279)
    at android.view.View.restoreHierarchyState(View.java:6304)
    at com.android.internal.policy.impl.PhoneWindow.restoreHierarchyState(PhoneWindow.java:1538)
    at android.app.Activity.onRestoreInstanceState(Activity.java:882)
    at android.app.Activity.performRestoreInstanceState(Activity.java:854)
    at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1162)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1794)
    ... 11 more

我還沒有找到任何解決方案。 我希望我可以做一些事情而不會改變結果。 提前致謝!

嘗試改變

 if(photoPath!=null){ ... code}
 to
 if(null != photoPath && null != s){ ..... code}

我認為Editable可能為null

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM