2013-03-28 3 views
0

У меня есть ListActivity с EditText и ListView. Содержание ListView изменяется в соответствии с содержанием EditText. Я делаю следующие шаги:Android - физическая кнопка на TextEdit стирает содержимое

1) Заполните что-то в EditText

2) Следовательно, Listview изменения (должным образом)

3) Я прокручивают ListView

4) Нажимаю назад

На этом этапе я ожидаю вернуться к предыдущему действию, в то время как я получаю, что EditText стирается и, следовательно, ListView пуст.

Есть ли способ сообщить EditText не стирать себя при нажатии кнопки «Назад»?

Большое спасибо.

G

+1

, когда я нажимаю кнопку назад клавиатуры шкуры и когда я снова нажимаю его, он переходит к предыдущему действию в стеке. вы shure, это стандартный EditText? вы shure u нажмите кнопку возврата - не стираете кнопку? вы shure u не переопределили onBackPressedMethod в своей деятельности? –

+0

напишите свой код. – Raghunandan

+0

Да, это стандартный EditText. Есть ли кнопка стирания на телефоне Android? – stkhou

ответ

0

Я просто хочу t операция заканчивается всякий раз, когда я нажимаю кнопку «Назад». Не имеет значения, что я делаю, и какой объект имел фокус

Вот как вы можете заставить отделку Activity при нажатии назад ...

@Override 
public void onBackPressed() { 
    finish(); 
} 
0

Вы можете использовать метод OnPause для хранения значения EditText. Либо в SharedPrefrence, либо в Global variable.

@Override 
public void onPause() { 
    super.onPause(); 
    // Get the current value from Edit text and store the value on sharedpref or global variable 
} 

здесь внутри метода onPause вы можете сохранить текущее значение EditText в общую настройку.

в качестве альтернативы вы можете overide события кнопки назад и сделать то же самое, как показано ниже вы можете использовать следующий метод

@Override 
public void onBackPressed(){ 
//your code here to save it to shared pref or global varialble then invoke relevant activity manually 
} 

для overide события, когда кнопка назад нажат

+0

, когда вы нажимаете кнопку «назад», активность вызывается из задней стопки и уничтожается. – Raghunandan

+1

, то вы можете вызвать метод 'finish()' внутри выше, чтобы завершить текущую активность. –

+0

Может ли ex exllain переопределить выше, вы можете сохранить текст в editext? – Raghunandan

1

Вы можете сохранить EditText в общих настройках. Для того, чтобы всегда иметь текст сохраняется, когда вы обратно или при открытии СНОВА application.Take вслушайтесь Shared Preferences

Как это:

private SharedPreferences pref; 

В ваших SecondClass:

pref.edit().putString("text", Text).commit(); 

MainClass:

String texto = pref.getString("text", ""); 
Смежные вопросы