如何从AlertDialog中的TextView获取文本()?

时间:2015-01-08 23:48:48

标签: java android xml

我有一个按下按钮打开的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放入活动中,它运行正常。

我一周前开始编程Android,我不是很好。拜托,帮助我!

谢谢!

2 个答案:

答案 0 :(得分:1)

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

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

请注意,您呼叫findViewById()上的Dialog而不是Activity

答案 1 :(得分:0)

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