我有一个活动,允许用户选择一个联系人,它将随联系人号码一起返回,并将其输入到EditText中。如何在保存到包时将逗号附加到字符串末尾?
现在的问题是,如果用户在选择联系人之前输入了一个号码,则在活动恢复时该号码将消失。
我知道我可以使用一个包来保存UI的状态。唯一的问题是在用户在EditText中输入数字后,我想在结果从联系人选择器传回时自动在数字末尾添加逗号。
这是我迄今为止..
EditText numbers = null;
numbers = (EditText)findViewById(R.id.phoneNumbers);
@Override
protected void onRestoreInstanceState(Bundle outState){
super.onResume();
//opening my database
mDbHelper.open();
setRowIdFromIntent();
//populating some fields
populateField();
这里是我的onSavedInstanceState()...
@Override
protected void onSaveInstanceState(Bundle outState){
super.onSaveInstanceState(outState);
if(mRowId != null){
//Here just keeping a reference of a db ID i use
outState.putLong(DbAdapter.KEY_ROWID, mRowId);
}
我将如何保存编辑文本的包,并追加一个逗号最后? 也有可能知道用户何时输入10位数字并在末尾自动附加(,)逗号?
编辑:
这里是我设法想出,但它不是工作。
@Override
protected void onSaveInstanceState(Bundle outState){
super.onSaveInstanceState(outState);
outState.putString("number", numbers.getText().toString().trim());
}
然后在OnRestore中()
@Override
protected void onRestoreInstanceState(Bundle outState){
super.onResume();
mDbHelper.open();
if(currentNumber != null){
currentNumber = outState.getString("number").toString() + ",;
}
这个代码是刚刚替换当前号码时的活性,恢复
您需要粘贴来自populateFields和setRowIdFromIntent的更多代码。也请格式化你的代码 –