2011-10-17 40 views
0

我有一個活動,允許用戶選擇一個聯繫人,它將隨聯繫人號碼一起返回,並將其輸入到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() + ",; 
} 

這個代碼是剛剛替換當前號碼時的活性,恢復

+0

您需要粘貼來自populateFields和setRowIdFromIntent的更多代碼。也請格式化你的代碼 –

回答

1

既然你存儲在數據庫ID元素的字段而不是數字,最後不能附加逗號。然而,你可以簡單地在簡歷末尾添加一個逗號。

雖然我不知道你的populateField()方法是什麼樣的,但我猜測你在某些時候將EditText設置爲某個數據庫條目的值。最後加一個逗號。

myEditText.setText(someVariable + ","); 
+0

你能舉個例子嗎? –

+0

@ coder_For_Life22查看編輯 – Jack

1

從第一眼看起來它看起來很簡單。我假設您在onResume()方法中使用setText(CharSequence text);設置文本。只是簡單地添加";"字符您保存的號碼後:

editText.setText(myString+";"); 

要知道當用戶添加媒體鏈接10個數字,你可以使用addTextChangedListener設置TextWatcher。在afterTextChanged()方法中,檢查輸入長度是否大於10個字符,並將逗號附加到EdiText

+0

查看我的編輯 –

+0

所以基本上是這樣的,用戶可以在編輯文本(電話號碼)中輸入一個數字,然後他們可以選擇一個聯繫人添加到它。所以當他們點擊選擇聯繫人按鈕並選擇一個聯繫人時。該號碼被返回。我想要做的是保留用戶在選擇聯繫人之前輸入的號碼,並在用戶返回時將其添加到編輯文本中。可以說如果用戶輸入一個號碼並選擇一個聯繫人,並選擇另一個聯繫人。我希望所有這些數字在用戶返回時仍然可用。 –

+0

並設置爲編輯文本。我知道我可能會讓事情變得更復雜。 –

相關問題