加载内置应用程序后,制表符消失

时间:2012-06-01 16:15:13

标签: android android-tabs

我真的迷失在这里。

我有一个应用程序,它使用3个XML文件,每个xml文件用于每个选项卡(我有3个选项卡与我的应用程序),这很好。在其中一个选项卡下面有一个按钮,当我点击它时,它意味着从联系人应用程序中获取名称和号码并将其打印在该选项卡的屏幕上,这通过连接到数据库并获取名称和从联系人应用程序中选择后的号码。他们都很好。

但是总是在进程和拾取数据并在tb3下设置textview值之后,主要的3个选项卡都会消失,并且所有3个不同的XML文件都被组合在一起有人知道为什么吗?

有谁知道该怎么做?任何教程?

有人建议 Fragmentmanager ,但我不知道如何使用它?

请求,请有人帮助我。

以下是主要活动的代码,其中显示了标签:

public class MainActivity extends TabActivity {

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

    Resources res = getResources(); // Resource object to get Drawables
    TabHost tabHost = getTabHost();  // The activity TabHost
    Button addbutton = (Button) findViewById(R.id.addButton);


    tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("tab1",
            res.getDrawable(R.drawable.tab1)).setContent(R.id.tab1Layout));

    tabHost.addTab(tabHost.newTabSpec("tab2").setIndicator("tab2",
            res.getDrawable(R.drawable.tab2)).setContent(R.id.tab2Layout));

    tabHost.addTab(tabHost.newTabSpec("tab3").setIndicator("tab3",
            res.getDrawable(R.drawable.tab3)).setContent(R.id.tab3));

    tabHost.setCurrentTab(2);

    addbutton .setOnClickListener(new View.OnClickListener() { 
        public void onClick(View v) { 

        Intent intent = new Intent(MyActivity.this,ContactsDemo.class); 

        MainActivity.this.startActivityForResult(intent,1); 

        } 

        }); 

}  

}

这假设打开myActivity,然后返回MainAcitiviy。但是在加载其他活动之后,所有三个选项卡都会消失,并且所有三个xml文件都会合并。

1 个答案:

答案 0 :(得分:0)

根据您的信息,我只能假设addButton在您的某个标签上是Button,并且您想要返回原始标签或其他两个标签中的一个。我已经构建了一个类似的应用程序,我认为你必须将startActivityForResult() - 调用放在其中一个标签活动中,因为你提到tb3这将是一个好的开始。当我执行startActivity()startActivityForResult() - 调用并且此新活动已关闭或用户点击后退按钮时,我回到我的标签上,标签功能区可见。

希望这有帮助。