詳細アクティビティが 1 つあります。この中で、ページングコントローラーを使用しています
<android.support.v4.view.ViewPager ..../>
フラグメントの詳細ビュー用。
私のコード:
ViewPager pager = (ViewPager) findViewById(R.id.pagerHandbookDetails);
/** Getting fragment manager */
FragmentManager fm = getSupportFragmentManager();
/** Instantiating FragmentPagerAdapter */
DetailsFragmentAdapter pagerAdapter = new DetailsFragmentAdapter(fm,cases);
/** Setting the pagerAdapter to the pager object */
pager.setAdapter(pagerAdapter);
pager.setCurrentItem(0);
次に、 Details Fragment Adapter Class が拡張されますFragmentPagerAdapter
int PAGE_COUNT = 9;
@Override
public Fragment getItem(int arg0) {
DetailsFragment detailsFragment = new DetailsFragment();
Bundle data = new Bundle();
Log.d("Current Page", "Page " + arg0);
data.putInt("current_page", arg0);
detailsFragment.setArguments(data);
return detailsFragment;
}
クラスの詳細 Fragment extendsFragment
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle data = getArguments();
int mCurrentPage = data.getInt("current_page", 0);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
layoutPaging = (LinearLayout) v.findViewById(R.id.layoutPagingView);
for(int i = 0; i < 9; i++){
ImageView image1 = new ImageView(layoutPaging.getContext());
image1.setTag(i);
if(i == mCurrentPage)
{
image1.setImageResource(R.drawable.black_dot);
}
else
{
image1.setImageResource(R.drawable.white_dot);
}
layoutPaging.addView(image1);
}
.......
}
こんな感じでうまくいっています。
したがって、ページをスワイプするたびに、明らかに詳細フラグメントページのすべてのコンテンツが移動します。したがって、ページング用のカスタム ビュー レイアウトも移動します。そしてそれは奇妙に見えます。
このレイアウトを静的にして、スワイプ ページごとに画像コンテンツを変更します。
メインの詳細クラスでこのレイアウトを使用している場合、フラグメント アダプターから画像を変更するための現在のページの値を取得していません。フラグメント詳細クラス内の値のみを変更しています。
私はここで立ち往生しています。