2011-06-05 90 views
0

我在自定义标题栏上创建主页按钮(使用图片到按钮)。 我的问题是每次点击这个按钮。它将会主要。 当停留在主页面并点击按钮。它会一次又一次地到主页。 我该怎么办? 在主页面时我不想去主要或者不能在主页面点击这个按钮。自定义标题栏上的Android主页按钮

你明白吗?

请帮我 谢谢

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(); 
     } 
    }); 

} 

} 

才有人告诉我用面漆();但它无法解决我的问题。

从例如:主>第1页>(点击家)>主>第2页>(点击家)>主

当移动

周期点击返回按钮是:主>第2页>主>第1页>主要>出于应用程序。

当我使用finish()后,在手机上点击返回按钮;

循环为:main> main> main> out of app。

回答

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(); 
    } 
}); 
+0

非常感谢,但如何使用它? – 2011-06-05 15:59:53

+0

哈哈,这是:toHome.setOnClickListener(新OnClickListener(){ 公共无效的onClick(视图v){ 意向意图=新意图(这一点,MainActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity (intent); finish(); } }); – anticafe 2011-06-05 16:29:03

+0

构造函数Intent(new View.OnClickListener(){},Class )未定义.... – 2011-06-05 16:41:12

1

在您粘贴的代码中,您明确定义了一个intent以转至MainActivity.class。如果你不想让主页按钮回到你的“主要活动”,那么你需要定义一个不同的意图。否则,将您不希望home按钮回到main的其他活动中的代码粘贴。

此外,如果您希望主页按钮在您进入主页面时不做任何操作,则不要设置onClickListener。如果设置一个监听器和定义一个intentMainActivity,那当然会继续将主...

+0

非常感谢。 – 2011-06-05 16:03:20

0

你可能要定义你的主要活动的启动模式为singleTop。这样你就不会得到奇怪的“main - > main - > main”序列。

+0

非常感谢。我测试使用的结果是,当停留在主要点击按钮都将关闭。 – 2011-06-05 16:16:36