Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.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 onCreateDialog和动态对话框(Android)_Java_Android_Dialog - Fatal编程技术网

Java onCreateDialog和动态对话框(Android)

Java onCreateDialog和动态对话框(Android),java,android,dialog,Java,Android,Dialog,我有个小问题。在我的程序中,我定义了 protected Dialog onCreateDialog(int id) { if (id == CONTEXT_MENU_ID) { return createMyDialog(); } return super.onCreateDialog(id); } 然后显示调用 showDialog(CONTEXT_MENU_ID) 我的问题是,有时我想在执行之间动态更改对话框的文本。但是使用这种方法,对话框永远不

我有个小问题。在我的程序中,我定义了

protected Dialog onCreateDialog(int id) {
    if (id == CONTEXT_MENU_ID) {
        return createMyDialog();
    }
    return super.onCreateDialog(id);
}
然后显示调用

showDialog(CONTEXT_MENU_ID)
我的问题是,有时我想在执行之间动态更改对话框的文本。但是使用这种方法,对话框永远不会被重新创建。如何在显示对话框之前调用createMyDialog()


谢谢

这可能值得一试。我还没有测试过。如果将textview设置为其内容,则可以为其设置id

TextView text = new TextView(this);
ViewGroup.LayoutParams vp = new ViewGroup.LayoutParams(LayoutParams.WRAP_CONTENT,
        LayoutParams.WRAP_CONTENT);
text.setLayoutParams(vp);
text.setText("HI");
text.setId(1005);    
dialog.setContentView(text);
因此,下次尝试更新textview时,您可能可以使用id访问它

((TextView)dialog.getWindow().getDecorView().findViewById(1005))
        .setText("New Text");

如果您想更改对话框设置(文本等),则需要在中进行更改。每次调用
showDialog
method

dinamical时,都会调用该对话框?真的吗?;)