如何在Android对话框中编辑TextViews的内容?

时间:2010-06-22 17:02:14

标签: java android dialog textview

我想在我的Android应用程序中显示一个对话框,其中布局中的某些TextView需要在运行时设置内容。

虽然显示对话框本身没有任何问题,但通过TextView.setText(String)访问TextView会使应用程序崩溃。

这是我到目前为止所得到的:

dialog = new Dialog(this);

dialog.setContentView(R.layout.dialog);
dialog.setTitle("my dialog");

dialog.show();

TextView tv;
tv = (TextView) findViewById(R.id.title);
tv.setText("bkjadsjbk");

虽然在没有最后3行的情况下工作正常,但运行该代码时,TextView-stuff会崩溃我的应用程序。

有什么办法可以做到这一点吗?

3 个答案:

答案 0 :(得分:1)

您正在findViewById()上致电Activity。您的Dialog拥有TextViews。在findViewById()上致电Dialog,您可能会有更好的运气。

答案 1 :(得分:1)

如果您可以发布错误日志以供我们理解,那就太好了。

我猜这种情况正在发生,因为它是在打开对话框的实际布局文件中支持该textview。因此可能会发生空指针异常。

要明确告诉它搜索您正在使用的对话框布局中的视图,请对textview执行此操作。

TextView tv = (TextView) dialog.findViewById(R.id.title);
tv.setText("your text...");

如果这不起作用,请发布您的错误日志。

答案 2 :(得分:0)

变化

TextView tv = (TextView) dialog.findViewById(R.id.title);
tv.setText("your text...");

final TextView tv = (TextView) dialog.findViewById(R.id.title);
    tv.setText("your text...");