无法添加窗口-令牌null无效;您的活动正在进行吗?在AutoCompletetextView中

问题描述

我已经打开相机并单击相机图片进行下一次活动,那应该是我的应用程序崩溃了。我不知道是什么错误。请让我知道此错误。正在获取错误是autocompletetextviewChnged错误为什么。

    autoexheader.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence charSequence,int i,int i1,int i2) {

        }

        @Override
        public void onTextChanged(CharSequence charSequence,int i2) {
            if (charSequence.length() == 0) {
                autoexheader.showDropDown();
            }


        }

        @Override
        public void afterTextChanged(Editable editable) {
            if (editable.length() == 0) {
                autoexheader.showDropDown();
            }
        }
    });

以下错误

 android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?
    at android.view.ViewRootImpl.setView(ViewRootImpl.java:965)
    at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:387)
    at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:96)
    at android.widget.PopupWindow.originalInvokePopup(PopupWindow.java:1590)
    at android.widget.PopupWindow.invokePopup(PopupWindow.java:1575)
    at android.widget.PopupWindow.showAsDropDown(PopupWindow.java:1426)
    at android.widget.ListPopupWindow.originalShow(ListPopupWindow.java:734)
    at android.widget.ListPopupWindow.show(ListPopupWindow.java:645)
    at android.widget.AutoCompleteTextView.showDropDown(AutoCompleteTextView.java:1316)
    at com.ppms.expensemanger.view.Expense$2.onTextChanged(Expense.java:174)
    at android.widget.TextView.sendOnTextChanged(TextView.java:10572)
    at android.widget.TextView.setText(TextView.java:6299)
    at android.widget.TextView.setText(TextView.java:6124)
    at android.widget.EditText.setText(EditText.java:122)
    at android.widget.TextView.setText(TextView.java:6076)
    at android.widget.TextView.onRestoreInstanceState(TextView.java:5943)
    at android.view.View.dispatchRestoreInstanceState(View.java:19935)
    at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:3892)
    at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:3892)
    at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:3892)
    at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:3892)
    at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:3892)
    at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:3892)
    at android.view.View.restoreHierarchyState(View.java:19913)
    at com.android.internal.policy.PhoneWindow.restoreHierarchyState(PhoneWindow.java:2162)
    at android.app.Activity.onRestoreInstanceState(Activity.java:1602)
    at android.app.Activity.performRestoreInstanceState(Activity.java:1557)
    at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1354)
    at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3351)
    at android.app.servertransaction.TransactionExecutor.performlifecycleSequence(TransactionExecutor.java:221)
    at android.app.servertransaction.TransactionExecutor.cycletoPath(TransactionExecutor.java:201)
    at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2047)
    at android.os.Handler.dispatchMessage(Handler.java:107)
    at android.os.Looper.loop(Looper.java:224)
    at android.app.ActivityThread.main(ActivityThread.java:7592)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)

解决方法

在向用户显示活动之前,已经添加了一些对话框或其他类型的窗口,因此没有令牌可用于添加新窗口,请尝试在视图上使用post,这可能会帮助您解决错误。 / p>

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    
    autoexheader.post(new Runnable() {
        @Override
        public void run() {

            autoexheader.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence,int i,int i1,int i2) {

            }

            @Override
            public void onTextChanged(CharSequence charSequence,int i2) {
                if (charSequence.length() == 0) {
                    autoexheader.showDropDown();
                }


            }

            @Override
            public void afterTextChanged(Editable editable) {
                if (editable.length() == 0) {
                    autoexheader.showDropDown();
                }
            }
        });

        }
    });

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...