在MainActivity页面刷新按下后退按钮

时间:2017-05-10 14:18:28

标签: android android-layout

我正在将活动A导航到B,然后将B导航到A.所以现在我在活动A中,如果我在此处按回按钮,页面将再次刷新到活动A,而不是关闭应用程序。如果我再次按回来,它就会关闭。

公共类MainActivity扩展了AppCompatActivity {

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

        Button mButton = (Button) findViewById(R.id.button);
        mButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this,Main2Activity.class);
                startActivity(intent);
            }
        });
    }
}


public class Main2Activity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);

        Button mButton = (Button) findViewById(R.id.button2);
        mButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(Main2Activity.this,MainActivity.class);
                startActivity(intent);
                finish();
            }
        });
    }
}

3 个答案:

答案 0 :(得分:2)

public class Main2Activity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main2);

    Button mButton = (Button) findViewById(R.id.button2);
    mButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            finish(); //just this. it will go to previous activity
            //onBackPressed(); also can
        }
    });
}
}

答案 1 :(得分:1)

在Main2Activity.class中,只需在onClick方法中调用finish(),然后导航回上一个活动。

public class Main2Activity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main2);

    Button mButton = (Button) findViewById(R.id.button2);
    mButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            finish(); 
        }
    });
}
}

答案 2 :(得分:0)

如果你想使用硬件后退按钮你可以试试这个;

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