[英]Android Home button on custom title bar
我在自定义标题栏上构建了主页按钮(使用图片到按钮)。 我的问题是每次单击此按钮。 它将 go 为主。 当停留在主页并单击按钮时。 它将一次又一次地进入主页。 我怎样做?? 我希望它不是 go 在保持主要或无法在主页中单击此按钮时变为主要。
明白了吗?
请帮帮我谢谢
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();
}
});
}
}
让人们告诉我使用完成(); 但它不能解决我的问题。
例如: main > page1 >(单击主页)> main > page2 >(单击主页)> main
当点击手机上的返回按钮时
循环是:main > page2 > main > page1 > main > out of app。
当我使用完成()后单击移动设备上的后退按钮时;
循环是:main > main > main > out of app。
在您粘贴的代码中,您已经明确定义了一个intent
go 到MainActivity.class
。 如果您不希望 go 的主页按钮回到您的“mainactivity”,那么您需要定义不同的意图。 否则,将您不希望主页按钮的其他活动中的代码粘贴到 go 回主。
此外,如果您希望主页按钮在您位于主页时不执行任何操作,那么只需不要设置onClickListener
。 如果您设置一个侦听器并将一个intent
定义为 go MainActivity
,那么它当然会继续主...
您可能希望将主要活动的启动模式定义为singleTop
。 这样你就不会得到奇怪的“main -> main -> main”序列。
当您从子页面导航到主页时,添加标志 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();
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.