Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 对话框中的EditText.setText(";)不断使应用程序崩溃_Java_Android_Android Edittext_Android Dialog - Fatal编程技术网

Java 对话框中的EditText.setText(";)不断使应用程序崩溃

Java 对话框中的EditText.setText(";)不断使应用程序崩溃,java,android,android-edittext,android-dialog,Java,Android,Android Edittext,Android Dialog,我在编写我的应用程序时遇到了以下问题: 只要语句Txtname.setText(name)未被抑制,应用程序就会不断崩溃。即使我硬编码字符串,它也会崩溃。通过toast,我可以看到字符串名称的传递是正确的 //OnListpress listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(Ada

我在编写我的应用程序时遇到了以下问题:

只要语句
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();
        }
    });
//OnListpress
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父视图、视图视图、int i、long l){
Log.d(标记“onItemClick:name:”+thelist.get(i));
String name=thelist.get(i);
Showpopup(名称);
}
//弹出窗口
私有void Showpopup(最终字符串名称){
myDialog=新建对话框(getActivity());
myDialog.setContentView(R.layout.popup_列表);
myDialog.show();
EditText Txtname=getActivity().findViewById(R.id.Txtname);
Txtname.setText(名称);
Toast.makeText(getActivity(),name,Toast.LENGTH_LONG).show();
}
});
我发现了一些关于这个问题的主题,但是他们总是使用片段作为编辑文本的基础。我的是一个对话,呈现的方式似乎不适合我。 我希望有人知道修复方法,提前谢谢

制作您的:

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


Txtname=..

您的
findViewById()
找不到id为
R.id.Txtname
EditText
,因为您做错了什么。那
EditText
应该在哪里?如果在对话中,那么你需要以其他方式找到它。这正是我想要做的。。。你知道为什么这样不行吗?我可以/应该做什么呢?我对你的建议的理解与你下面的建议相同。。。。如果是这样的话,我已经试过了,但没有成功。