代码之家  ›  专栏  ›  技术社区  ›  xenonite

如何在Android对话框中编辑文本视图的内容?

  •  0
  • xenonite  · 技术社区  · 16 年前

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

    虽然显示对话框本身完全没有问题,但是通过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运行代码会使我的应用程序崩溃。

    有什么方法可以纠正这个问题吗?

    3 回复  |  直到 11 年前
        1
  •  1
  •   achie    16 年前

    如果你能把错误日志贴出来让我们理解,那就太好了。

    我想这是因为它在打开对话框的实际布局文件中为该textview坐着。因此可能发生空指针异常。

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

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

    如果这不起作用,那么发布错误日志。

        2
  •  1
  •   CommonsWare    16 年前

    你在呼唤 findViewById() 对你 Activity . 你的 Dialog 有 TextViews . 呼叫 () 上 对话 祝你好运。

        3
  •  0
  •   number27th    11 年前

    改变

    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...");
    
    推荐文章