2013-07-26 49 views
2

中的其余文本我想将文本添加到EditText而不会丢失以前的文本。如何将文本添加到Android

例:打字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 
    }  
} 
+3

使用'append'取代'settext.' – Raghunandan

+0

'res.append( “4”);' – Houcine

回答

0

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

9

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

res.append("4"); 

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

(作为一个方面说明,不要用==比较字符串,使用.equals()

+3

我希望你不介意我添加一个侧面说明在这里。为了避免出现'NullPointerException',你应该总是在对象上运行'.equals',你肯定它是一个字符串......就像'“0”.equals(res.getText()。toString())' –

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"); 
    }  
}