Android将值传递到选项卡
在我的Android应用程序中,我想向选项卡传递一个值。。。我有一个mainActivity,然后是maintabactivity和三个tab活动,如tab1 tab2和tab3。。我需要向tab1、tab2、tab3传递三个不同的值。。我能够传递这些值。。。但当我传递值时,结果不会显示在内部选项卡中,而是显示为单独的页面。。我在下面给出我的代码。。请帮忙 主要活动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
//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);
有没有什么特别的原因你没有按照开发者的标签指南使用片段?没有特别的原因。。我不知道怎么用……你应该用碎片,这是多年来的标准做法。无论如何,对你的问题要更具体一些。到底是什么东西没有按预期工作?事实上。。正如我在问题中提到的。。我有一个主要活动和三个选项卡。。还有一个选项卡。。。我需要将三个值传递给三个选项卡。。。当用户按下每个选项卡时,结果必须显示在选项卡内的文本视图中。。。通过上面的代码,我可以将值传递到选项卡。。。但它并不像标签那样显示。。它是显示像分开的页面。。。我想我需要将值传递到主选项卡页面,然后再传递到选项卡。。但是我没有这方面的代码..你说的“不像标签一样显示”是什么意思?我不知道那是什么意思。你能提供你的问题的截图或说明吗?