0

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

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

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

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 运行该代码会使我的应用程序崩溃。

有什么办法可以解决这个问题吗?

4

3 回答 3

1

您正在调用findViewById()您的Activity. 你DialogTextViews. 打电话findViewById()Dialog你可能会有更好的运气。

于 2010-06-22T17:05:47.903 回答
1

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

我猜这正在发生,因为它在打开对话框的实际布局文件中为该文本视图提供座位。所以可能会出现空指针异常。

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

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

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

于 2010-06-22T17:18:53.127 回答
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...");
于 2015-10-12T18:59:31.453 回答