我有一个导航抽屉和ViewPager
,可以从抽屉里的列表中选择一个对象。单击/触摸时,我想将该图像添加到ViewPager
。
我已经创建了一个方法addObjectToSlide()
,但是图像附加到错误的视图上。当我从一个页面滑动到另一个页面时,图像卡在顶部。此外,当我打开抽屉时,图像已经过了。
这是我的代码:
private void addObjectToSlide(int pageNumber, int position) {
ViewGroup rootView = (ViewGroup) findViewById(R.id.scroll_view_slides).getRootView();
RelativeLayout.LayoutParams imParams =
new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
imParams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);
ImageView iv = new ImageView(rootView.getContext());
switch (pageNumber) {
case 0 :
iv.setImageDrawable(getResources().obtainTypedArray(R.array.p1_object).getDrawable(position));
break;
default:
// add later
}
rootView.addView(iv, imParams);
}
scroll_view_slides
是RelativeLayout
的{{1}} ID。
答案 0 :(得分:0)
我找到了一个解决方案,我更改了以下句子:
ViewGroup rootView = (ViewGroup) mViewPager.findViewWithTag(pageNumber);