1

我需要编写一个按钮以返回主应用程序活动。

public void onGotoMainActivity(View View)
    {
         Intent intent = new Intent(View.getContext(), MainActivity.class);
         this.startActivity(intent);
    }

Main 活动已经开始并且没有被销毁。所以我不认为这将是一个“新”意图,也不应该“开始活动”?它不应该只是让主要活动重新回到焦点吗?

4

5 回答 5

1

你应该这样设置FLAG_ACTIVITY_CLEAR_TOP,而不是启动一个新的实例,Activity它将清除Activities堆栈顶部的所有内容,并使用新的将意图传递到(现在在顶部ActivityIntent

public void onGotoMainActivity(View View)
    {
         Intent intent = new Intent(View.getContext(), MainActivity.class);
         intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
         this.startActivity(intent);
    }
于 2012-02-09T02:11:23.057 回答
1

您也可以使用它。

Intent intent = new Intent();
setResult(RESULT_OK, intent);
finish();
于 2012-02-09T07:19:09.387 回答
0

只需finish()onClick()

或者如果您有超过 1 个活动,请添加此内容

        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
于 2012-02-09T02:18:45.717 回答
0

你的意思是模拟一个后退按钮?

dispatchKeyevent(Keyevent.ACTION_DOWN, Keyevent.BUTTON_BACK);
dispatchKeyevent(Keyevent.ACTION_UP, Keyevent.BUTTON_BACK);
于 2012-02-09T04:03:02.633 回答
0

这为我清除了一切。

public void onGotoMainActiviy(View View)
{
    Intent intent = new Intent(View.getContext(), MainActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    CurrentActivity.this.finish();
}

谢谢大家让我走上正轨。活动的生命周期无疑是有价值的信息。

于 2012-02-27T23:14:38.697 回答