首页 > 解决方案 > 对话框中的 EditText.setText("") 使应用程序崩溃

问题描述

我偶然发现了以下问题编码我的应用程序:

每当该语句Txtname.setText(name)未被抑制时,应用程序就会不断崩溃。即使我硬编码字符串,它也会崩溃。通过 toast,我可以看到字符串名称已正确传递。

    //OnListpress
    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int i, long l) {
            Log.d(TAG, "onItemClick: name:" + thelist.get(i));
            String name = thelist.get(i);
            Showpopup(name);
        }

        //PopUP
        private void Showpopup(final String name) {
            myDialog = new Dialog(getActivity());
            myDialog.setContentView(R.layout.popup_list);
            myDialog.show();
            EditText Txtname = getActivity().findViewById(R.id.TxtNAME);

            Txtname.setText(name);
            Toast.makeText(getActivity(),name,Toast.LENGTH_LONG).show();
        }
    });

我发现了一些关于这个问题的主题,但他们总是使用片段作为编辑文本的基础。我的是一个对话,所呈现的方式似乎对我不起作用。我希望有人知道解决方法,提前谢谢!

标签: javaandroidandroid-edittextandroid-dialog

解决方案


做你的:

EditText Txtname 变量 global.... 即全局声明它,然后像这样调用它:

文本名称 = ....


推荐阅读