이것이 내 첫 번째 게시물입니다. 활동 관리에 문제가 있습니다. 나는 몇몇 주요 편집 활동을 포함하는 다른 활동을 시작하는 나의 주요 활동을 가지고있다. 실행 코드는 다음과 같습니다.마무리 작업은 먼저 EditTexts를 지우고 수행해야 할 작업을 수행합니다.
Intent myIntent = new Intent(ActualClass.this, NextClass.class);
startActivity(myIntent);
새로 시작한 활동 및 일부 버튼에 대한 EditText가 거의 없습니다. 버튼 중 하나는 나를 주요 활동으로 되돌립니다. OnTouchEvent에서 나는 간단한 것을 실행합니다 finish(); 모두 간단하고 잘 작동해야하지만, 내 기본 활동으로 돌아 가야하는 버튼을 클릭하면 먼저 내 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와 하나의 문제는 다음과 같습니다. 두 번째 활동에서 처음으로 뒤로 버튼을 클릭하면 다시 내 주요 활동으로 돌아 가지 않습니다. 활동에 대한 모든 EditTexts를 지우고 첫 번째 요소에 포커스를 설정합니다. 두 번째 버튼을 클릭하면 마침내 주요 활동으로 되돌아갑니다.
나는 EditText가있는 NextClass 클래스의 전체 코드를 제공하고 있습니다.
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;
}
}
문제를 재현하는 데 필요한 최소한의 완전한 코드를 게시하는 데 도움이 될 수 있습니다. 당신이 묘사 한 것처럼 나는 결코 문제가 없었습니다. –
나는 당신이 말하는 것을 이해하는 데 어려움을 겪고 있습니다. 단추를 두 번 눌러 뒤로 이동 하시겠습니까? 아니면 한 번만 이동 하시겠습니까? 또한 좀 더 많은 코드 (버튼의 OnTouchEvent 클래스)를 제공 할 수 있다면 더 쉽게 도움을받을 수 있습니다. –
onTouch에서 true를 반환하려고 시도 했습니까? false는 사용자가 직접 이벤트를 처리하지 않았으며 터치 이벤트가 뷰 위로 전파됨을 의미합니다. – Spidy