【问题标题】:How to getText() from a TextView in an AlertDialog?如何从 AlertDialog 中的 TextView 获取文本()?
【发布时间】:2015-03-07 05:56:17
【问题描述】:

我有一个按按钮打开的 AlertDialog。

在这个 AlertDialog 中有一个按钮和一个显示数字的 TextView。

我必须创建一个函数,当按下 AlertDialog 中的按钮时,将 TextView 中的数字加 1。

为了做到这一点,我将其写入了打开 AlertDialog 的活动的 .java 文件中。

public void plus(View view)
{
    TextView total = (TextView) findViewById(R.id.Total);        
    totalP = Integer.parseInt((String)(total.getText())) + 1;
    total.setText(String.valueOf(totalP));
}

但它在 total.getText() 上给出错误

我尝试写一些类似的东西,但是将 TextView 放入 Activity 中,并且效果很好。

我一周前开始编写Android,我不是很好。请帮帮我!

谢谢!

【问题讨论】:

标签: java android xml


【解决方案1】:
final EditText input = new EditText(MainActivity.this);
input.setSingleLine(true);

new AlertDialog.Builder(MainActivity.this)
        .setTitle("Title")
        .setView(input)
        .setPositiveButton("OK", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {
                String in = input.getText().toString();
            }
        })
        .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {

            }
        })
        .show();

【讨论】:

    【解决方案2】:

    如果您的对话框变量名为 diag,请尝试以下操作

    TextView total = (TextView) diag.findViewById(R.id.Total);
    

    请注意,您在Dialog 上调用findViewById() 而不是Activity

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-21
      • 1970-01-01
      • 2014-05-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多