在哪里放置onBackPressed

时间:2012-11-12 00:38:33

标签: java android eclipse back-button back

我尝试使用以下命令配置“后退”按钮:

Public void onBackPressed(){return;}

但它没有做任何事情(我也尝试过super.onBack ......并且完成了)。我的应用程序是一个业余应用程序基于:Onclik X按钮:“英语”所以它向您显示英语活动。还有100多项活动。

    package com.example.speakcat;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;

public class MainActivity extends Activity {
    @Override
    public void onBackPressed() {
        super.onBackPressed();
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void english(View view)
    {
        setContentView(R.layout.activity_english);
    }

onBackPressed位置很好?因为这里没有任何东西。 我希望你能帮助我,谢谢。

3 个答案:

答案 0 :(得分:0)

您必须使用super调用覆盖该方法。如果您的想法返回到之前的Activity,那就是您需要做的全部。

@Override
public void onBackPressed() {
    super.onBackPressed();
}

答案 1 :(得分:0)

完成当前活动,将自动转到上一个

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

答案 2 :(得分:0)

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {

    if ( keyCode == KeyEvent.KEYCODE_BACK) {
        Log.d("CDA", "onKeyDown Called");
       onBackPressed();
      return true;
    }

    return super.onKeyDown(keyCode, event);
}
public void onBackPressed() {
    Intent myIntent = new Intent(YourActivity.this, SecondActivity.class);//goto whichever activity you want by clearing top of stack.
    myIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);// clear top of stack
    startActivity(myIntent);
    finish();
    return;
 } 

如果您想返回之前的活动,可以致电完成。 如果您有Actvity A并且导航到B. A转到后台。它在活动堆栈上。在活动B结束时弹出堆栈,活动A出现在前台。 http://developer.android.com/guide/components/tasks-and-back-stack.html。看看和这个链接。