我有一個活動,有列表視圖和編輯文本。 在這裏,當我不得不從列表視圖中獲取數據時,在textview中存儲了從列表視圖獲取的數據的單擊事件mehod。 但問題是, 編輯文本時清除數據時,我選擇從列表視圖中的數據.. 所以 我應該怎麼辦 如果我想我的編輯文本數據,因爲它是從另一個活動列表視圖中選擇數據回來後。編輯的文本值清晰,當移動到下一個值,並在當前活動回來
我嘗試完成()在點擊事件,但它不working.data正在被清除。
在此先感謝。
我有一個活動,有列表視圖和編輯文本。 在這裏,當我不得不從列表視圖中獲取數據時,在textview中存儲了從列表視圖獲取的數據的單擊事件mehod。 但問題是, 編輯文本時清除數據時,我選擇從列表視圖中的數據.. 所以 我應該怎麼辦 如果我想我的編輯文本數據,因爲它是從另一個活動列表視圖中選擇數據回來後。編輯的文本值清晰,當移動到下一個值,並在當前活動回來
我嘗試完成()在點擊事件,但它不working.data正在被清除。
在此先感謝。
每當數據發生變化時,將這些數據存儲在數組中。您可以使用以下邏輯,我一般在我的項目中使用
private boolean programmaticalTextChange = false;
private KeyEvent UnknownKey = new KeyEvent(KeyEvent.ACTION_DOWN,
KeyEvent.KEYCODE_UNKNOWN);
public class MyTextWatcher implements TextWatcher
{
private EditText editText;
public MyTextWatcher(EditText editText)
{
this.editText = editText;
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
if (!programmaticalTextChange)
editText.dispatchKeyEvent(UnknownKey);
}
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
//...
myEditText.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
updateItem(item, v, rowView);
return false;
}
});
myEditText.addTextChangedListener(new MyTextWatcher(myEditText));
}
protected void updateItem(MyClass item, View v) {
try {
item.Name = ((EditText) v).getText()
.toString());
} catch (Exception e) {
}
}
有很多選項。您可以使用共享首選項。當你在該活動中,您通過做
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = preferences.edit();
創建一個共享偏好對象,你可以通過這樣
editor.putString("MyPreference", edittext.getText());
從舊的活動存儲從編輯文本視圖文本當您返回到它你可以做
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
String myEditText = preferences.getString("MyPreference") ;
希望它能幫助。