从活动中获取EditText值到Android Tabhost中的选项卡

时间:2016-11-16 05:45:04

标签: android tabs android-tabhost

我有Tab主机包含三个选项卡“STEP 1,STEP 2和STEP 3”。主标签主机 活动“MainActiveTab”是家长活动,子活动“TabActStep_1TabActStep_2TabActStep_3”。

我希望通过“EditText”等子标签活动访问TabActStep_1,TabActStep_2,TabActStep_3和其他值。

//Assign id to Tabhost.
        TabHostWindow = (TabHost) findViewById(android.R.id.tabhost);

        //Creating tab menu.
        TabHost.TabSpec TabMenu1 = TabHostWindow.newTabSpec("First tab");
        TabHost.TabSpec TabMenu2 = TabHostWindow.newTabSpec("Second Tab");
        TabHost.TabSpec TabMenu3 = TabHostWindow.newTabSpec("Third Tab");

        //Setting up tab 1 name.
        TabMenu1.setIndicator("STEP 1");
        //Set tab 1 activity to tab 1 menu.
        TabMenu1.setContent(new Intent(this, TabActStep_1.class));

        //Setting up tab 2 name.
        TabMenu2.setIndicator("STEP 2");
        //Set tab 3 activity to tab 1 menu.
        TabMenu2.setContent(new Intent(this, TabActStep_2.class));


        //Setting up tab 2 name.
        TabMenu3.setIndicator("STEP 3");
        //Set tab 3 activity to tab 3 menu.
        TabMenu3.setContent(new Intent(this, TabActStep_3.class));

    //Adding tab1, tab2, tab3 to tabhost view.

    TabHostWindow.addTab(TabMenu1);
    TabHostWindow.addTab(TabMenu2);
    TabHostWindow.addTab(TabMenu3);

这是“MainActiveTab”我想要获取子标签活动值EditText。等等 我试着像这样的儿童选项卡发送价值

   Intent intent = new Intent(getApplicationContext(), MainActiveTab.class);
   // Intent intent = new Intent(getApplicationContext(),MainActiveTab.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        intent.putExtra("name","tab");
       // intent.putExtra("HouseName", strHouseName);
        startActivity(intent);

MainActiveTab使用此代码使用此处传递值从主选项卡获取

Bundle bundle = getIntent().getExtras();
String id=bundle.get("name").toString();

在儿童选项卡上声明意图功能选项卡显示“不幸的应用程序停止了”我希望你可以帮助我。谢谢你!

1 个答案:

答案 0 :(得分:0)

您无法直接从Activity向Fragment发送值。您已使用接口来实现此目的。

Fragment1->接口 - > ActivityClass-> Fragment2