我在自定义标题栏上构建了主页按钮(使用图片到按钮)。 我的问题是每次都单击此按钮。它会去主要的。 停留在主页面并单击按钮。它会一次又一次地出现在主页面上。 我怎样做?? 我希望它不会在主要时保持主要或不能在主页面中单击此按钮。
你明白吗?
请帮帮我 谢谢
public class CustomTitleBar extends Activity {
protected ImageButton toHome;
protected TextView title;
protected ImageView icon;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title_bar);
toHome = (ImageButton) findViewById(R.id.header);
title = (TextView) findViewById(R.id.title);
icon = (ImageView) findViewById(R.id.icon);
ProgressBar titleProgressBar = (ProgressBar) findViewById(R.id.loadProgress);
titleProgressBar.setVisibility(ProgressBar.GONE);
/* -- Button to HOME -- */
toHome.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent goHome = new Intent(Intent.ACTION_MAIN);
goHome.setClass(CustomTitleBar.this, MainActivity.class);
startActivity(goHome);
finish();
}
});
}
}
人们告诉我使用finish();但它无法解决我的问题。
来自example:main>第1页> (点击主页)>主要>第2页> (点击主页)>主
在移动设备上点击后退按钮
周期是:主要>第2页>主要>第1页>主要>超出应用程序。
在使用finish()后点击手机上的后退按钮;
周期是:主要>主要>主要>超出应用程序。
答案 0 :(得分:1)
在您粘贴的代码中,您明确定义了intent
以转到MainActivity.class
。如果您不希望主页按钮返回到“mainactivity”,那么您需要定义不同的意图。否则,请粘贴您不希望主页按钮返回主页的其他活动中的代码。
此外,如果您希望主页按钮在主页面中不执行任何操作,则只需设置onClickListener
即可。如果你设置一个监听器并定义intent
去MainActivity
,那么它当然会继续主...
答案 1 :(得分:0)
您可能希望将主要活动的启动模式定义为singleTop
。这样你就不会得到奇怪的“main - > main - > main”序列。
答案 2 :(得分:0)
从子页面导航到主页时添加标志Intent.FLAG_ACTIVITY_CLEAR_TOP。 这是我的示例代码:
/* -- Button to HOME -- */
toHome.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent goHome = new Intent(Intent.ACTION_MAIN);
goHome.setClass(CustomTitleBar.this, MainActivity.class);
goHome.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(goHome);
finish();
}
});