我正在练习一些Android开发。我在主活动中创建了一个按钮,用于打开第二个活动:
我将此代码用于按钮:
this.detailsBtn = (Button) findViewById(R.id.details_btn);
this.detailsBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent k = new Intent(arg0.getContext(), DetailsActivity.class);
startActivity(k);
}
});
此代码在打开第二个活动时正常工作。我还添加了一个按钮,可以返回到DetailsActivity中的主要活动。
this.mainListBtn = (Button) findViewById(R.id.main_list_btn);
this.mainListBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent k = new Intent(arg0.getContext(), MainActivity.class);
startActivity(k);
}
});
这也可以正常使用。我的问题是,每当我按下任何按钮时,我是否应该创建新的Intent,因为它看起来需要一些时间来打开新活动?
有没有办法访问已经创建的intent而不是重新创建它?
答案 0 :(得分:2)
只能将finish()
拨入DetailsActivity
this.mainListBtn = (Button) findViewById(R.id.main_list_btn);
this.mainListBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
finish();
}
});
这也可以正常使用。我的问题是我应该创建新的Intent 每次我按下任何按钮,因为它看起来像它需要 一段时间打开新活动?
你当前的应用程序运行正常,我同意了。但是会发生什么,每次按下按钮时,新的Activity都会被添加到应用程序堆栈中。在你的情况下不应该发生这种情况。
答案 1 :(得分:1)
您可以访问之前打开的活动,也可以通过onBackPressed()调用;功能到以前的活动。
答案 2 :(得分:1)
如果您希望两个活动都存在且不想调用finish(),那么您可以使用
简单地将现有活动恢复到前面。Intent i = new Intent(getActivity(), B.class);
i.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
getActivity().startActivity(i);