это мой первый пост здесь.
У меня проблема с управлением деятельностью. У меня есть основной вид деятельности, который запускает другие действия, содержащие некоторые EditTexts. Вот код для запуска:
Intent myIntent = new Intent(ActualClass.this, NextClass.class);
startActivity(myIntent);
У меня есть несколько EditTexts для недавно запущенного действия и несколько кнопок. Одна из кнопок возвращает меня к основной деятельности. На своем OnTouchEvent я запускаю простые finish (); Все кажется простым и должно работать просто отлично, но когда я нажимаю кнопку, которая должна вернуть меня к моей основной деятельности, он сначала очищает мои EditTexts. Когда я нажимаю на него во второй раз, он, наконец, возвращает меня к моей основной деятельности. Что я должен сделать, чтобы предотвратить очистку EditTexts и вернуться к моей основной деятельности после первого щелчка? Буду очень признателен за вашу помощь.
Извините, ребята, я добавляю больше кода. Итак, вот слушатель, который запускает второе действие, то есть с EditTexts:
public boolean onTouch(View v, MotionEvent me) {
switch(v.getId()){
case R.id.buttonForward:
Intent myIntent = new Intent(ActualClass.this, NextClass.class);
startActivity(myIntent);
break;
default:
break;
}
return false;
}
А на втором занятии, где, кажется, возникает моя проблема, слушатель на кнопке выглядит так:
buttonBack.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
finish();
return false;
}
});
И проблема в том, что когда я впервые нажимаю кнопку «Назад» во втором упражнении, это не возвращает меня к моему основному занятию - оно очищает все EditTexts в задании и устанавливает фокус на первом элементе. Когда я нажимаю кнопку во второй раз, она, наконец, возвращает меня к основной деятельности.
Я предоставляю полный код класса NextClass, класса с EditTexts.
public class NextClass extends Activity implements OnTouchListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.nextclasslayout);
final EditText firstEditText = (EditText) findViewById(R.id.firstEditTextName);
final EditText secondEditText = (EditText) findViewById(R.id.secondEditTextName);
ImageButton buttonBack = (ImageButton) findViewById(R.id.imageButtonBack);
buttonBack.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
finish();
return true;
}
});
}
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
return false;
}
}