我有一個活動,允許用戶選擇一個聯繫人,它將隨聯繫人號碼一起返回,並將其輸入到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的更多代碼。也請格式化你的代碼 –