【发布时间】:2015-09-24 17:18:44
【问题描述】:
在我的应用程序中,我使用带有 PagerTabStrip 的 ViewPager,在操作栏上我有一个 switch button。
我想当 switch button 更改为 true,片段上的 textview 的文本,更改...
(当切换按钮为 false 时也更改为另一个文本)
这就是我的意思:
这是我的工作:
PagerAdapter:
public class PagerAdapter extends FragmentPagerAdapter {
public PagerAdapter(Context context, FragmentManager fm) {
super(fm);
}
@Override
public CharSequence getPageTitle(int position) {
switch (position) {
case 0:
return "Home";
case 1:
return "Test";
default:
return "Home";
}
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return new FragmentA();
case 1:
return new FragmentB();
default:
return new FragmentA();
}
}
@Override
public int getCount() {
return 2;
}
}
主要活动:
switch_button_action.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
boolean State=switch_button_action.isChecked();
if (State){
SharedPreferences.Editor editor = G.preferences.edit();
editor.putBoolean("SWITCH_BTN_ACTION", true);
editor.commit();
}
else{
SharedPreferences.Editor editor = G.preferences.edit();
editor.putBoolean("SWITCH_BTN_ACTION", false);
editor.commit();
}
}
});
片段A:
public class FragmentA extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
layout=inflater.inflate(R.layout.fragment_a, null);
boolean GetStateSwitchBtnAction =G.preferences.getBoolean("SWITCH_BTN_ACTION", false);
if(GetStateSwitchBtnAction){
textview.settext("test");
}
else{
textview.settext("TEST")
}
return layout;
}
我的问题是它没有立即刷新 TextView!
切换到另一个选项卡并返回Home后,它已更改,
但我想在switch button 更改后立即更改...
感谢您提供的任何帮助...
【问题讨论】: