2011-10-17 41 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

并设置为编辑文本。我知道我可能会让事情变得更复杂。 –

相关问题