android - 后退按钮不适用于 TabActivity 和组 Activity

标签 android tabactivity

我在 tabactivity 和 group activity 中遇到后退按钮的问题。

现在我有一个 4 选项卡,在一个选项卡中我还有一个 Activity 。 后退按钮不适用于组 Activity 和标签 Activity 。 我怎样才能使它工作?

这是我的代码:

标签栏

 public class TabbarActivity extends TabActivity {

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.tabbar);

    TabHost tabHost = getTabHost();
    TabHost.TabSpec spec;
    Intent intent;
    Resources res = getResources();

    intent = new Intent().setClass(this, StartActivity.class);
    spec = tabHost.newTabSpec("ReweHaupt").setIndicator("ReweHaupt",
      res.getDrawable(R.drawable.home))

                  .setContent(intent);
    tabHost.addTab(spec);

    intent = new Intent().setClass(this, EinkauflisteActivity.class);
    spec = tabHost.newTabSpec("EinkaufListe").setIndicator("EinkaufListe",res.getDrawable(R.drawable.einkaufliste))
                  .setContent(intent);
    tabHost.addTab(spec);

    intent = new Intent().setClass(this,FilialesuchenActivitiy.class);
    spec = tabHost.newTabSpec("Filiarsuchen").setIndicator("Filiarsuchen",res.getDrawable(R.drawable.searchbuton))
                  .setContent(intent);
    tabHost.addTab(spec);

    intent = new Intent().setClass(this,NotizblockActivity.class);
    spec = tabHost.newTabSpec("Notizblock").setIndicator("Notizblock",res.getDrawable(R.drawable.einkaufliste))
                  .setContent(intent);
    tabHost.addTab(spec);






}

EinkauflisteACtivity.java

 public class EinkauflisteActivity extends ActivityGroup {

// das brauchen wir für groupactivity

public static EinkauflisteActivity group;
private ArrayList<View> history;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.einkaufliste);
    this.history = new ArrayList<View>();
    group = this;

    Button btnsenden = (Button) findViewById(R.id.btnsenden);
    Button btnscaner = (Button) findViewById(R.id.btnscaner);
    Button btnsuchen = (Button) findViewById(R.id.btnsuchen);

    // wenn wir button clicken, rufen wir neu activity
    btnsuchen.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            View view = getLocalActivityManager().startActivity(
                    "Systemhaus",
                    new Intent(v.getContext(), SuchenActivitiy.class)
                            .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))
                    .getDecorView();
            replaceView(view);
        }
    });

}

public void replaceView(View v) {
    history.add(v);
    setContentView(v);
}

public void back() {
    if (history.size() > 0) {
        history.remove(history.size() - 1);
        setContentView(history.get(history.size() - 1));
    } else {
        finish();
    }
}

public void onBackPressed() {
    back();
}

public void onClick(View v) {
    // TODO Auto-generated method stub

}

最佳答案

后退按钮在这里不起作用

你必须在按下后覆盖 onBackPressed() 在每个 Activity 中维护一个堆栈并弹出所需的 Activity

关于android - 后退按钮不适用于 TabActivity 和组 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8465388/

相关文章:

Android 在按钮上显示/隐藏 Tabwidget 单击

java - getTabHost() 返回 null

java - startForeground 中的错误通知 : contentIntent required error on Android 2. 3.4

java - 在Android中发出POST请求

android - 什么是 Dagger ?我们为什么要使用它?

安卓标签栏 : Access Current Tab Activity

android - 如何将值从 Activity 传递到tabactivity

android - 如何从内存转储中找出预加载系统可绘制对象(位图)的 ID 或名称

java - 如何覆盖 nativescript 中的重载 Java 方法?

android - 如何在同一选项卡中开始新 Activity ?