0

현재 조각 ID 및 조각 태그에 액세스하는 데 문제가 있습니다.ViewPager의 조각 ID 또는 태그?

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

을 그리고 addTab 방법은 다음과 같다 : 나는 현재 TabHost와 ViewPager의 조각을 구현하고, 새 탭은 다음과 같이 추가

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(); 
    } 

나는 현재 2 개 탭 2를 데 내 활동에서 열린 조각 : Tab0.class 및 Tab1.class. 조각 ID 나 조각 Tab1의 태그를 사용하여 콜백 메서드를 사용하여 값을 전달할 수 있습니다. 이걸 좀 도와 줘서 친절하니?

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(); 
     } 

을하고 나중에 나는 조각 태그로 반환 문자열을 불러하지만 항상 null입니다 :

나는 운없이 다음과 같은 노력했다. 너 나 좀 도와 줄래 ??????? 백그라운드에서 Tab1 Fragment에 액세스하려면 어떻게해야합니까? 친절한 도움을 주셔서 대단히 감사합니다. (!!

+0

당신은 그것을 알아낼? – Lion789

+0

'Tab0 tab0Fragment = (Tab0) getSupportFragmentManager(). getFragments(). get (0);'? – tpk

답변

1

오늘도 비슷한 문제가있었습니다. ViewPager와 어댑터를 사용했기 때문에 제 조각에 값을 넣고 싶었습니다. 조각을 반환 내 어댑터에서 메소드의 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); 
    } 
} 

활동 I에서 내 가치를지나 다음과 같이 :.

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