2010-06-22 28 views
0

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

虽然显示对话框本身没有任何问题,但通过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-东西,代码崩溃我的应用程序。

有没有什么办法解决这个问题?

回答

1

如果您可以发布错误日志以便我们理解,那将会很好。

我猜想,这是发生,因为它坐在那个对话框打开的实际布局文件中的textview。因此可能会出现空指针异常。

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

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

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

+0

它的工作 - 谢谢! – xenonite 2010-06-22 17:25:50

1

您正在致电findViewById()在您的Activity。您的DialogTextViews。在Dialog上拨打findViewById(),你可能会有更好的运气。

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...");