2

我想在不丢失以前文本的情况下向 EditText 添加文本。

例如:输入时74,我想在"4"不删除之前输入的数字的情况下添加到文本框中"7"

public void add4()
{   
    res = (EditText)findViewById(R.id.editText1);

    if(res.getText().toString() == "0")
    {
        res.setText("4");
    }
    else
    {
        // add number 4 to the remaining string
    }       
}
4

3 回答 3

9

您可以使用该append方法附加到现有文本。

res.append("4");

http://developer.android.com/reference/android/widget/TextView.html#append(java.lang.CharSequence)

(作为旁注,不要==用来比较字符串,使用.equals()

于 2013-07-26T12:36:07.127 回答
2

尝试这个:

.equals在字符串对象上使用了该方法,以避免在NullPointerException对象为空或不是字符串时可能发生的情况。

public void add4() { 

    res = (EditText)findViewById(R.id.editText1);

    if( "0".equals(res.getText().toString()) )
    {
        res.setText("4");
    }
    else
    {
        res.append("4");
    }       
}
于 2013-07-26T12:43:32.843 回答
0

res.append("4");或者你可以使用res.setText(res.getText() + "4");

于 2013-07-26T12:55:16.580 回答