我想在我的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会崩溃我的应用程序。
有什么办法可以做到这一点吗?
答案 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...");