无法按下后退按钮,从当前活动转到上一个活动

时间:2014-08-06 08:59:21

标签: android android-activity

//按下后退按钮需要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;
}

}

3 个答案:

答案 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);
        }
    });