完成一项活动,转到下一个活动,然后返回上一个活动

时间:2014-01-24 11:47:56

标签: android activity-finish start-activity

所以我是Android开发的新手,我遇到了小问题。 我得到了这段代码:`

Button button2=(Button)findViewById(R.id.button2);
    button2.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        startActivity(new Intent(Menu.this, pistols.class));
        finish();
    }

});`

那部分工作正常,但是当我开始下一个Activity,并且我想使用硬件设备按钮(后退按钮)返回到之前的活动时,它会关闭应用程序而不是让我回到之前的活动。 我该怎么办?

5 个答案:

答案 0 :(得分:3)

删除finish()。它应该修复它,因为你调用`finish()它会杀死活动并将其从后栈中移除,因此你不能通过按后退按钮返回它。

答案 1 :(得分:0)

Button button2=(Button)findViewById(R.id.button2);
    button2.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        startActivity(new Intent(Menu.this, pistols.class));

    }

});`

删除finish

答案 2 :(得分:0)

这个有帮助

Button button2=(Button)findViewById(R.id.button2);
button2.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    startActivity(new Intent(Menu.this, pistols.class));

}});
另一种方式。 你可以覆盖onBackPressed。从那里开始第一个活动。

@Override
public void onBackPressed() {
    super.onBackPressed();
// call the first activity here
    this.finish();
}

答案 3 :(得分:0)

请搜索或做RounD关于onactivityresult

答案 4 :(得分:0)

代码 startactivity(...)将启动新活动,下一行即完成()将完成当前活动。因此,按下后退按钮后,您将无法返回上一个活动。