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

How to use setText() to edit text in custom layout dialog(如何使用 setText() 在自定义布局对话框中编辑文本)

本文介绍了如何使用 setText() 在自定义布局对话框中编辑文本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have a TextView in a custom layout for dialog. Its text has to be changed when the dialog is about to appear.

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

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

java code I used to set text and show dialog is

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();

但调用这些方法时应用会崩溃.

but the app would crash when these method is called.

但如果我们删除

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

它不会崩溃.

推荐答案

尝试通过它的父引用访问TextView

Try to access the TextView by it's parent referance

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

这篇关于如何使用 setText() 在自定义布局对话框中编辑文本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:如何使用 setText() 在自定义布局对话框中编辑文本

基础教程推荐