如何使用setText()编辑自定义布局对话框中的文本

时间:2016-09-26 19:49:30

标签: android dialog

我在自定义布局中有一个TextView用于对话框。 当对话框即将出现时,必须更改其文本。

      <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/final_score"
        />

java代码我用来设置文本和显示对话框是

AlertDialog.Builder builder = new AlertDialog.Builder(this);
    LayoutInflater inflater = this.getLayoutInflater();
    builder.setView(inflater.inflate(R.layout.its_over, null));
    AlertDialog dialog = builder.create();
    dialog.show();
    TextView t = (TextView)findViewById(R.id.final_score);
    t.setText(""+score);

我也试过这段代码。

 AlertDialog.Builder builder = new AlertDialog.Builder(this);
    LayoutInflater inflater = this.getLayoutInflater();
    builder.setView(inflater.inflate(R.layout.its_over, null));
    AlertDialog dialog = builder.create();
    TextView t = (TextView)dialog.findViewById(R.id.final_score);
    t.setText(""+score);
    dialog.show();

但是当调用这些方法时应用程序会崩溃。

但如果我们删除

TextView t = (TextView)dialog.findViewById(R.id.final_score);
    t.setText(""+score);

它没有崩溃。

1 个答案:

答案 0 :(得分:3)

尝试通过它的父级参考来访问TextView

View view = inflater.inflate(R.layout.its_over, null);
builder.setView(view);
TextView t = (TextView) view.findViewById(R.id.final_score);