Android将值传递到选项卡

Android将值传递到选项卡,android,tabs,android-tabhost,Android,Tabs,Android Tabhost,在我的Android应用程序中,我想向选项卡传递一个值。。。我有一个mainActivity,然后是maintabactivity和三个tab活动,如tab1 tab2和tab3。。我需要向tab1、tab2、tab3传递三个不同的值。。我能够传递这些值。。。但当我传递值时,结果不会显示在内部选项卡中,而是显示为单独的页面。。我在下面给出我的代码。。请帮忙 主要活动 //Intent for tab operations //Personal Year tab oper

在我的Android应用程序中,我想向选项卡传递一个值。。。我有一个mainActivity,然后是maintabactivity和三个tab活动,如tab1 tab2和tab3。。我需要向tab1、tab2、tab3传递三个不同的值。。我能够传递这些值。。。但当我传递值时,结果不会显示在内部选项卡中,而是显示为单独的页面。。我在下面给出我的代码。。请帮忙

主要活动

    //Intent for tab operations

        //Personal Year tab operation
        Intent itab = new Intent(this, TabPersonalYr.class);
        //Personal Year Number
        itab.putExtra("name18",sum18 + "");
        startActivity(itab);

        //Personal Month tab operation
        Intent imonthtab = new Intent(this, TabPersonalMnth.class);
        //Personal Month Number
        imonthtab.putExtra("name19",sum19 + "");
        startActivity(imonthtab);

        //Personal Month tab operation
        Intent idaytab = new Intent(this, TabPersonalDay.class);
        //Personal Day Number
        idaytab.putExtra("name20",sum20 + "");
        startActivity(idaytab);*/
可维护布局活动

  @Override
        public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.tablay_xm);

        TabHost tabHost = getTabHost();


        // Tab for PersonalYear
        TabSpec photospec = tabHost.newTabSpec("Personal Year");
        // setting Title and Icon for the Tab
        photospec.setIndicator("Personal Year", getResources().getDrawable(R.drawable.icon_photos_tab));
        Intent photosIntent = new Intent(this, TabPersonalYr.class);
       photospec.setContent(photosIntent);


        // Tab for Personal Month
        TabSpec songspec = tabHost.newTabSpec("Personal Month");        
        songspec.setIndicator("Personal Month", getResources().getDrawable(R.drawable.icon_songs_tab));
        Intent songsIntent = new Intent(this, TabPersonalMnth.class);
        songspec.setContent(songsIntent);

        // Tab for PersonalDay
        TabSpec videospec = tabHost.newTabSpec("Personal Day");
        videospec.setIndicator("Personal Day", getResources().getDrawable(R.drawable.icon_videos_tab));
        Intent videosIntent = new Intent(this, TabPersonalDay.class);
        videospec.setContent(videosIntent);

        // Adding all TabSpec to TabHost
        tabHost.addTab(photospec); // Adding photos tab
        tabHost.addTab(songspec); // Adding songs tab
        tabHost.addTab(videospec); // Adding videos tab
表1活动

TextView txt2 = (TextView) findViewById (R.id.textView14);
        txt2.setText(getIntent().getStringExtra("name18"));

您可以使用createsingleton类来传递值

public class ShareData{
    private volatile static ShareData shareData;
    public static ShareData data(){
    if(shareData == null){
        synchronized (ShareData.class) {
            if (shareData == null) {
                shareData = new ShareData();
            }
        }
    }
    return shareData;
    }  

    public String value;  
}
在Tab2中设置值

ShareData.data().value = "set in tab2";
在Tab1中获取值

txt2.setText(ShareData.data().value);

有没有什么特别的原因你没有按照开发者的标签指南使用片段?没有特别的原因。。我不知道怎么用……你应该用碎片,这是多年来的标准做法。无论如何,对你的问题要更具体一些。到底是什么东西没有按预期工作?事实上。。正如我在问题中提到的。。我有一个主要活动和三个选项卡。。还有一个选项卡。。。我需要将三个值传递给三个选项卡。。。当用户按下每个选项卡时,结果必须显示在选项卡内的文本视图中。。。通过上面的代码,我可以将值传递到选项卡。。。但它并不像标签那样显示。。它是显示像分开的页面。。。我想我需要将值传递到主选项卡页面,然后再传递到选项卡。。但是我没有这方面的代码..你说的“不像标签一样显示”是什么意思?我不知道那是什么意思。你能提供你的问题的截图或说明吗?