【问题标题】:Android sherlock FragmentTab clear dataAndroid sherlock FragmentTab 清除数据
【发布时间】:2013-08-05 05:42:42
【问题描述】:
public class PropertyAddActivity extends SherlockFragmentActivity implements OnPageChangeListener, TabListener {
private String TAG="AddActivity: ";
private FileCache fileCache;
private ViewPager mPager;
private ActionBar ab;
private static final int COUNT = 3;
static ArrayList<Integer> mSelectedPropertyType = new ArrayList<Integer>();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.property_add);

    mPager = (ViewPager) findViewById(R.id.pager);
    mPager.setAdapter(new MyAdapter(getSupportFragmentManager()));
    mPager.setOnPageChangeListener(this);
    ab = getSupportActionBar();

    ab.setDisplayShowTitleEnabled(false);
    ab.setDisplayShowHomeEnabled(false);
    ab.setNavigationMode(NAVIGATION_MODE_TABS);

    GlobalProperty.getInstance().product=new PropertyAdd();

    ab.addTab(ab.newTab().setText("Property").setTabListener(this));
    ab.addTab(ab.newTab().setText("Property Detail 1").setTabListener(this));
    ab.addTab(ab.newTab().setText("Property Detail 2").setTabListener(this));

}       

@Override
protected void onDestroy() {
    // TODO Auto-generated method stub
    //listAttachImage.clear();
    mSelectedPropertyType.clear();
    super.onDestroy();
}

@Override
public void onPageScrolled(int position, float positionOffset,int positionOffsetPixels) {
    //AppLog.logString(TAG+"onPageScrolled");
}

@Override
public void onPageSelected(int position) {
    //AppLog.logString(TAG+"onPageSelected position"+position);
    getSupportActionBar().setSelectedNavigationItem(position);
}

@Override
public void onPageScrollStateChanged(int state) {
    //AppLog.logString(TAG+"onPageScrollStateChanged ");
}

@Override
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
    //AppLog.logString(TAG+"onTabSelected position: "+tab.getPosition());
    mPager.setCurrentItem(tab.getPosition());
    //ft.replace(R.id.fragment_container, fragment);
}

@Override
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) {
    //AppLog.logString(TAG+"onTabUnselected");
}

@Override
public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {
    //AppLog.logString(TAG+"onTabReselected");
}

public class MyAdapter extends FragmentStatePagerAdapter {
    public MyAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public int getCount() {
        //AppLog.logString(TAG+"COUNT: "+COUNT);
        return COUNT;
    }

    @Override
    public Fragment getItem(int position) {
        Fragment f = new Fragment();
        AppLog.logString(TAG+"position: "+position);
        switch (position) {
        case 0:
            AppLog.logString(TAG+"FRAGGGG1111111");
            f = Property1AddFragmentActivity.newInstance(position);
            break;
        case 1:
            AppLog.logString(TAG+"FRAGGGG2222222");
            f = Property2AddFragmentActivity.newInstance(position);
            break;
        case 2:
            AppLog.logString(TAG+"FRAGGGGG333333");
            f = Property3AddFragmentActivity.newInstance(position);
            break;


        default:
            AppLog.logString(TAG+"Default");
            break;
        }
        return f;
    }
}}

我添加了 3 个选项卡现在的问题是,当我在 tab1 视图中设置一些数据并移动到 tab2 时,重新选择 tab1 上的数据是原样的,但是当我移动到 tab3 到 tab1 时,tab1 数据是明确的.那么你们有没有办法解决这个问题?

【问题讨论】:

    标签: android android-fragments actionbarsherlock android-viewpager


    【解决方案1】:

    目前,您的代码似乎部分是操作栏选项卡,部分是普通片段。

    如果您尝试使用操作栏选项卡,那么您需要一个选项卡侦听器。在 onTabSelected 你应该添加/替换,在 onTabUnselected 你应该删除。

    请看http://developer.android.com/guide/topics/ui/actionbar.html “添加导航选项卡”部分就是一个很好的例子。

    【讨论】:

    • 不管你是否使用ABS,都是同一个概念。只要您知道必须使用 SherlockFragmentActivity 而不是 FragmentActivity,该示例仍然有效。
    • 我知道。我的回答是用清晰的英文写的。请让同事向您解释,或使用谷歌翻译。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多