传递EditText对象和EditText.setText()会抛出异常

时间:2016-05-20 12:21:50

标签: android android-activity android-edittext

我有一个Activity,它实现了以下功能:

    public class SettingsActivity extends Activity {
         public void setText(EditText txtBox,String strText){
             txtBox.setText(strText);
         }
        public void onCreate(Bundle savedInstanceState) {
             super.onCreate(savedInstanceState);
             setContentView(R.layout.settings);
             EditText txtEdit = (EditText)findViewById(R.id.txtEdit);
             setText(txtEdit,"String");
             ...
        }

所以我试图将EditText对象传递给setText函数,然后调用txtBox.setText()函数。但这引发了以下异常:

android.content.res.Resources$NotFoundException: String resource ID #0x0

但是,在txtEdit.setText()内调用onCreate()函数时,效果非常好。

编辑:函数setText是一个简化,我实际上是传递一个自定义类的对象a然后调用txtBox.setText(object.value),它(错误地)实际上是一个整数,而不是一个字符串。传递一个字符串修复了错误。抱歉给您带来不便。

2 个答案:

答案 0 :(得分:0)

我刚才意识到,事实上我没有传递一个字符串参数。就像@Lubos一样,Horacek描述了在将int传递给setText时抛出异常。转换参数修复了错误。

答案 1 :(得分:-1)

可能是您的ID在布局文件中不存在