将默认数据放入Android中的edittext

时间:2015-12-23 10:47:19

标签: android android-edittext

从edittext e_1,e_2获取数据以总结这些内容,但很少将这些内容放在一起。例如,我在e_1中写了0,在e_2中写了1,pref KEY表示' 1'但是当我在e_1中没有写任何内容时,在e_2中没有写入1时,它会导致错误和失败。因此,尽管他/她在e_1中没有写任何内容,但它也必须将' 0'在一个。我要做什么?

a = Integer.parseInt(e_1.getText().toString());
b = Integer.parseInt(e_2.getText().toString());

SharedPreferences.Editor editor = pref_time.edit();
editor.putInt(KEY, a+b));
editor.commit();

3 个答案:

答案 0 :(得分:1)

试一试

String editText1=e_1.getText().toString().trim();
String editText2=e_1.getText().toString().trim();

if((editText1!= null || !editText1.equals("")) && (editText2!=null || !editText2.equals("")))
{
        a = Integer.parseInt(editTextData1);
        b = Integer.parseInt(editTextData2);

        SharedPreferences.Editor editor = pref_time.edit();
        editor.putInt(KEY, a+b));
        editor.commit();
}

答案 1 :(得分:0)

如果e_2为空,请在此行中填写:

b = Integer.parseInt(e_2.getText().toString());

您将收到错误,因为e_2.getText().toString()返回空字符串,并且无法将其解析为Integer

你必须首先检查它是否为空:

String aText = e_1.getText().toString();
String bText = e_2.getText().toString();

a = TextUtils.isEmpty(aText)? 0 : Integer.parseInt(aText);
b = TextUtils.isEmpty(bText)? 0 : Integer.parseInt(bText);

答案 2 :(得分:0)

当edittext为空时,它返回null到e_1.getText().toString(),所以首先检查edittext是否为空,如下所示:

String editTextData1 = e_1.getText().toString().trim();
String editTextData2 = e_1.getText().toString().trim();

trim();是为了避免空格,然后像这样检查以避免任何异常:

if(editTextData1!="" || editTextData2!=""){
    a = Integer.parseInt(editTextData1);
    b = Integer.parseInt(editTextData2);

    SharedPreferences.Editor editor = pref_time.edit();
    editor.putInt(KEY, a+b));
    editor.commit();
}