2016-09-09 4 views
0

私はViewPagerを使用しています。 2つのフラグメントでさらにデータを表示する必要がありますが、何も表示されません。Android FragmentPagerAdapter display moredata

代替レイアウトがありますか?

これはレイアウトコードです:

<android.support.v4.view.ViewPager 
    android:id="@+id/mainContent" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="1.8"> 
</android.support.v4.view.ViewPager> 

これはアダプタです:

public class HitoeAdapter extends FragmentPagerAdapter { 

private static HitoeAdapter adapter; 
private final HeartRateFragment mHeartRateFragment; 
private final ECGFragment mECGFragment; 

public HitoeAdapter(FragmentManager fragmentManager) { 
    super(fragmentManager); 
    mHeartRateFragment = new HeartRateFragment(); 
    mECGFragment = new ECGFragment(); 
} 

@Override 
public Fragment getItem(int pos) { 
    switch (pos) { 
     case 0: 
      return mHeartRateFragment; 
     case 1: 
      return mECGFragment; 
     default: 
      return null; 
    } 
} 

@Override 
public int getCount() { 
    return 2; 
} 
} 

私を助けてください。おかげさまで

+0

を二つの断片でより多くのデータを**手段? –

+0

はい、viewPagerを使用して、2つのフラグメント(2つの異なるビュー)でdinamically多くのデータ(心拍数、ストレスリベル)を表示する必要がありますが、動作しません。 –

+0

あなたの2つの異なる断片には2つの異なるクラスがあります。そして、あなたはAPI呼び出し、データバインディングなどのクラスで何かをすることができます –

答えて

0

今viewpagerであなたの破片を設定するには、このメソッドを追加below--

public class ViewPagerAdapter extends FragmentPagerAdapter { 
private final List<Fragment> mFragmentList = new ArrayList<>(); 
private final List<String> mFragmentTitleList = new ArrayList<>(); 

public ViewPagerAdapter(FragmentManager manager) { 
    super(manager); 
} 

@Override 
public Fragment getItem(int position) { 
    return mFragmentList.get(position); 
} 

@Override 
public int getCount() { 
    return mFragmentList.size(); 
} 

public void addFragment(Fragment fragment, String title) { 
    mFragmentList.add(fragment); 
    mFragmentTitleList.add(title); 
} 

@Override 
public CharSequence getPageTitle(int position) { 
    return mFragmentTitleList.get(position); 
} 

}

のようなアダプタクラスを作成します - **

private void setupViewPager(ViewPager viewPager) { 

    ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager()); 
    adapter.addFragment(new HeartRateFragment(), "HeartRateFrag"); 
    adapter.addFragment(new ECGFragment(), "ECGFragment"); 
    viewPager.setAdapter(adapter); 
} 
+0

ありがとう、私はアクティビティクラスでsetupViewPagerを呼び出してもらえますか?インスタンスのアダプタクラスはどこですか? –

+0

はい。アクティビティクラスから、次のようなfindviewbyidを使用してビューページを開始します。 - mViewPager =(ViewPager)findViewById(R.id.viewpager); setupViewPager(mViewPager); –

+0

いいえ動作しません、viewPagerの代わりのレイアウトはありますか? –