私は、ユーザーが連絡先を選ぶことを許可するアクティビティを持っており、連絡先番号とともに返信し、それを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桁の数字を入力し、末尾に(、)カンマを自動的に追加することも知ることができますか?
EDIT:
ここでは、私が思い付くことに成功したが、それは働いてイマイチものです。
@Override
protected void onSaveInstanceState(Bundle outState){
super.onSaveInstanceState(outState);
outState.putString("number", numbers.getText().toString().trim());
} onRestore()は、DBのIDを格納しているので、活性はそれが
populateFieldsとsetRowIdFromIntentからさらにコードを貼り付ける必要があります。あなたのコードを少し書式化してください –