ViewPager中的片段ID或标记



我当前在访问Fragment ID和Fragment Tag时遇到问题。我目前正在TabHost和ViewPager中实现一个Fragment,新的选项卡是这样添加的:

mTabsAdapter.addTab(bar.newTab().setText("Tab0"),
            Tab0.class, null);

addTab方法如下:

public void addTab(ActionBar.Tab tab, Class<?> clss, Bundle args) {
        TabInfo info = new TabInfo(clss, args);
        tab.setTag(info);
        tab.setTabListener(this);
        mTabs.add(info);
        mActionBar.addTab(tab);
        notifyDataSetChanged();
    }

我目前在活动中打开了两个选项卡和两个片段:Tab0.class和Tab1.class。我想要片段Tab1的片段Id或Tag,这样我就可以使用回调方法向其传递值。你能帮我一下吗?

我尝试了以下没有运气:

public String addTab(ActionBar.Tab tab, Class<?> clss, Bundle args) {
            TabInfo info = new TabInfo(clss, args);
            tab.setTag(info);
            tab.setTabListener(this);
            mTabs.add(info);
            mActionBar.addTab(tab);
            notifyDataSetChanged();
            return tab.getTag().toString();
        }

后来我调用了返回字符串作为Fragment标记,但它总是空的。你能帮我吗???????我应该怎么做才能在后台访问Tab1片段。非常感谢您的帮助:(!!

我今天遇到了类似的问题。我想给我的片段加一个值,但我不能使用Tag,因为我使用了ViewPager和Adapter。因此,我使用了适配器中返回片段的方法getItem(),并在片段中创建了一个方法。

public class SchedulePagerAdapter extends FragmentPagerAdapter {
  private final ArrayList<String> mTabs;
  public SchedulePagerAdapter(FragmentManager fm, Context mContext) {
    super(fm);
    mTabs = new ArrayList<String>();
    mTabs.add(new String(mContext.getString(R.string.label_monday)));
    mTabs.add(new String(mContext.getString(R.string.label_tuesday)));
    mTabs.add(new String(mContext.getString(R.string.label_wednesday)));
    mTabs.add(new String(mContext.getString(R.string.label_thursday)));
    mTabs.add(new String(mContext.getString(R.string.label_friday)));
    mTabs.add(new String(mContext.getString(R.string.label_saturday)));
    mTabs.add(new String(mContext.getString(R.string.label_sunday)));
  }
  @Override
  public CharSequence getPageTitle(int position) {
    return mTabs.get(position);
  }
  @Override
  public int getCount() {
    return mTabs.size();
  }
  @Override
  public Fragment getItem(int position) {
    return ScheduleFragment.newInstance(position);
  }
}

在活动中,我超过了我的价值,如下所示:

(FragmentNameClass)mSchedulePagerAdapter.getItem(0).setDate("00-00-00");

相关内容

  • 没有找到相关文章

最新更新