//按下后退按钮需要3次以上才能转到上一个活动。
//这是我的主要活动
public class Splash extends Activity实现View.OnTouchListener { ImageButton Ih,Re;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.e("Harsha ", "Create");
setContentView(R.layout.activity_splash);
Ih= (ImageButton) findViewById(R.id.IH);
Re= (ImageButton) findViewById(R.id.Reg);
anim3=AnimationUtils.loadAnimation(this,R.anim.rightleft);
Ih.setOnTouchListener(this);
Re.setOnTouchListener(this);
}
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
switch (view.getId()){
case R.id.IH :
Intent intent=new Intent(this,Second.class);
startActivity(intent);
break;
case R.id.Reg:
Intent intent2=new Intent(this,Register.class);
startActivity(intent2);
break;
}
return false;
}
}
答案 0 :(得分:0)
将此代码用于您的活动以进行之前的活动 只需点击一下设备的后退按钮即可 只需复制粘贴它
@Override
public void onBackPressed()
{
// code here to show dialog
super.onBackPressed();
finish();
}
或者您也可以使用
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
finish();
return true;
}
return super.onKeyDown(keyCode, event);
}
答案 1 :(得分:0)
您可以在致电新finish()
时致电Intent
。如果您致电finish()
,请致电destroyed
。如果它如此删除finish()
在您的第二个活动实施onKeyDown()
功能。
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
Log.e("back key pressed","Back key pressed");
finish();
return true;
}
return super.onKeyDown(keyCode, event);
}
答案 2 :(得分:0)
我在具有不同API版本的两个不同设备上遇到了同样的问题。
所以我只是在OnClick vs onTouch中移动了我的代码......
OnTouch事件更复杂 - 它在onDown,onUp,onMove上被触发..所以对于按钮是合适的onClick
this.findViewById(R.id.btnOptions).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(v.getContext(), SettingsActivity.class);
startActivity(intent);
}
});