Java 如何在Android对话框中编辑文本视图的内容?
我想在android应用程序中显示一个对话框,其中布局中的某些文本视图需要在运行时设置内容 虽然显示对话框本身没有问题,但通过TextView.setText(字符串)访问TextView会使应用程序崩溃 到目前为止,我得到的是:Java 如何在Android对话框中编辑文本视图的内容?,java,android,dialog,textview,Java,Android,Dialog,Textview,我想在android应用程序中显示一个对话框,其中布局中的某些文本视图需要在运行时设置内容 虽然显示对话框本身没有问题,但通过TextView.setText(字符串)访问TextView会使应用程序崩溃 到目前为止,我得到的是: dialog = new Dialog(this); dialog.setContentView(R.layout.dialog); dialog.setTitle("my dialog"); dialog.show(); TextView tv; tv = (
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的东西运行代码会使我的应用程序崩溃
有什么方法可以做到这一点吗?您正在调用
活动中的findViewById()
。您的对话框
具有文本视图
。在对话框中调用findViewById()
,您可能会有更好的运气。如果您能发布错误日志让我们理解,那就太好了
我猜这是因为它在打开对话框的实际布局文件中搜索textview。因此可能会发生空指针异常
要明确告诉它搜索您正在使用的对话框布局中的视图,请对textview执行此操作
TextView tv = (TextView) dialog.findViewById(R.id.title);
tv.setText("your text...");
如果这不起作用,请发布错误日志。更改
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...");