Java 需要根据所选选项卡显示活动
我会尽量简短地解释我的问题。我有4个标签,“月”“周”“日”“今天”。每一天都是一项单独的活动。当用户单击“今天”选项卡时,活动必须首先检查上一个活动,然后相应地显示当前日期。例如,如果用户在前一天单击,然后单击“今天”,则“今天”活动应显示今天的日期。“月”和“周”活动也是如此。“今日”将检查上一个活动,并分别显示当月和本周 这是我用来制作标签的代码Java 需要根据所选选项卡显示活动,java,android,android-activity,Java,Android,Android Activity,我会尽量简短地解释我的问题。我有4个标签,“月”“周”“日”“今天”。每一天都是一项单独的活动。当用户单击“今天”选项卡时,活动必须首先检查上一个活动,然后相应地显示当前日期。例如,如果用户在前一天单击,然后单击“今天”,则“今天”活动应显示今天的日期。“月”和“周”活动也是如此。“今日”将检查上一个活动,并分别显示当月和本周 这是我用来制作标签的代码 public class Secondactivity extends TabActivity { private TabH
public class Secondactivity extends TabActivity {
private TabHost mTabHost;
private void setupTabHost() {
mTabHost = getTabHost();
}
setupTabHost();
mTabHost.getTabWidget().setDividerDrawable(se.copernicus.activity.R.drawable.tab_divider);
setupTab(new TextView(this), getString(R.string.month));
setupTab(new TextView(this), getString(R.string.week));
setupTab(new TextView(this), getString(R.string.day));
setupTab(new TextView(this), getString(R.string.today));
mTabHost.setCurrentTabByTag(getString(R.string.month));
private void setupTab(final View view, final String tag) {
View tabview = createTabView(mTabHost.getContext(), tag);
if (tag.compareTo(getString(R.string.month)) == 0) {
Intent intent = new Intent(getApplicationContext(), MonthActivity.class);
TabSpec setContent = mTabHost.newTabSpec(getString(R.string.month)).
setIndicator(tabview).setContent(new TabHost.TabContentFactory() {
public View createTabContent(String tag) {
return view;
}
});
setContent.setContent(intent);
mTabHost.addTab(setContent);
}
if (tag.compareTo(getString(R.string.week)) == 0) {
Intent intent = new Intent(getApplicationContext(), WeekActivity.class);
TabSpec setContent = mTabHost.newTabSpec(getString(R.string.week)).
setIndicator(tabview).setContent(new TabHost.TabContentFactory() {
public View createTabContent(String tag) {
return view;
}
});
setContent.setContent(intent);
mTabHost.addTab(setContent);
}
if (tag.compareTo(getString(R.string.day)) == 0) {
Intent intent = new Intent(getApplicationContext(), DayActivity.class);
TabSpec setContent = mTabHost.newTabSpec(getString(R.string.day)).
setIndicator(tabview).setContent(new TabHost.TabContentFactory() {
public View createTabContent(String tag) {
return view;
}
});
setContent.setContent(intent);
mTabHost.addTab(setContent);
}
if (tag.compareTo(getString(R.string.today)) == 0) {
Intent intent = new Intent(getApplicationContext(), DayActivity.class);
TabSpec setContent = mTabHost.newTabSpec(getString(R.string.today)).
setIndicator(tabview).setContent(new TabHost.TabContentFactory() {
public View createTabContent(String tag) {
return view;
}
});
setContent.setContent(intent);
mTabHost.addTab(setContent);
}
}
private static View createTabView(final Context context, final String text) {
View view = LayoutInflater.from(context).inflate(R.layout.tabs_bg, null);
TextView tv = (TextView) view.findViewById(R.id.tabsText);
tv.setText(text);
return view;
}
}
维诺,
最好使用共享首选项。单击选项卡时,在共享首选项中存储一个值。
例如,单击“日期”选项卡,使用下面的共享优先级
getSharedPreferences("Test", 0).edit().putString("Check", "day").commit();
并在单击“月份”选项卡时使用下面的首选项
getSharedPreferences("Test", 0).edit().putString("Check", "month").commit();
并在单击“周”选项卡时使用以下首选项
getSharedPreferences("Test", 0).edit().putString("Check", "week").commit();
最后,当我们单击“今天”选项卡时,根据该值获取共享首选项值打印日期、月份、周。下面的代码用于获取共享首选项值
String check_string= getSharedPreferences("Test", 0).getString("Check","day")
if( check_string.equalsIgnorecase("day")
{
// it is coming from day tab
}
else if ( check_string.equalsIgnorecase("month")
{
//it is coming from month tab
}else if ( check_string.equalsIgnorecase("week")
{
//it is coming from week tab
}
维诺,
最好使用共享首选项。单击选项卡时,在共享首选项中存储一个值。
例如,单击“日期”选项卡,使用下面的共享优先级
getSharedPreferences("Test", 0).edit().putString("Check", "day").commit();
并在单击“月份”选项卡时使用下面的首选项
getSharedPreferences("Test", 0).edit().putString("Check", "month").commit();
并在单击“周”选项卡时使用以下首选项
getSharedPreferences("Test", 0).edit().putString("Check", "week").commit();
最后,当我们单击“今天”选项卡时,根据该值获取共享首选项值打印日期、月份、周。下面的代码用于获取共享首选项值
String check_string= getSharedPreferences("Test", 0).getString("Check","day")
if( check_string.equalsIgnorecase("day")
{
// it is coming from day tab
}
else if ( check_string.equalsIgnorecase("month")
{
//it is coming from month tab
}else if ( check_string.equalsIgnorecase("week")
{
//it is coming from week tab
}
嗨,普拉维娜。谢谢你的回复!我现在正在测试它。我会给你回复结果的。嗨,普拉维娜。谢谢你的回复!我现在正在测试它。我们会把结果反馈给你。