2

我真的迷路了。

我有一个使用 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 文件都合并了。

4

1 回答 1

0

鉴于您的信息,我只能假设它addButtonButton您的一个选项卡上,并且您想返回到原始选项卡或其他两个选项卡之一。我已经构建了一个类似的应用程序,我认为您必须将startActivityForResult()-call 放在其中一个选项卡活动中,因为您提到 tb3 这将是一个好的开始。当我执行startActivity()or startActivityForResult()-call 并且此新活动已关闭或用户点击后退按钮时,我将回到我的选项卡上,并且选项卡功能区可见。

希望这可以帮助。

于 2012-07-23T12:39:14.533 回答