【发布时间】:2013-04-14 06:01:39
【问题描述】:
我想在 ViewPager 的片段中设置一些 TextView。我在实例化页面时将我的 TextViews 设置在我的片段的 onActivityCreated 函数中。根据 getItemPosition 中返回 POSITION_NONE 的一些帖子解决了我的问题,但由于每次删除所有视图都不是一种有效的方法。所以我将其更改为 instatiateItem(ViewGroup container, int position) 但是当我返回 Fragments 的视图时,它会抛出:
ClassCastException : android.Widget.LinearLayout cannot be cast to android.support.v4.app.Fragment
这是我的 instantiateItem(ViewGroup container, int position) 函数,有人知道我该如何管理这个异常吗?或者如何刷新 ViewPager 内的 Fragment 中的 TextView? 提前致谢
@Override
public Object instantiateItem(ViewGroup container, int position)
{
LayoutInflater inflater = (LayoutInflater) mContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (position == 3) {
view = inflater.inflate(R.layout.projecttracking_detail_customerproject_fragment, null);
((ViewPager) container).addView(view, 0);
}
else if(position == 2) {
view = inflater.inflate(R.layout.projecttracking_detail_projectinformation_fragment, null);
((ViewPager) container).addView(view, 0);
}
return view;
}
【问题讨论】:
-
您说有一个带有片段的
ViewPager,但是您将适配器扩展为在实例化方法中膨胀布局?!?!用户会提供帮助,但请不要使用那些荒谬的长名称(在您之前的问题中),让他们更轻松。 -
@Luksprog: 你评论一下,我已经覆盖了 FragmentPagerAdapter 中的 InstantiateItem,正如我之前提到的,当我按下 ListFragment 中的一个项目时,我想在 ViewPager 中的 Fragment 中设置一个 textView。问题是关于刷新 ViewPager。我尝试了几种方法。当我返回 Position_NONE 时,Fragments 刷新很好,但它有点慢,所以我在 ViewPager Adapter 中尝试了 InstantiateItem,但我不知道我做错了什么?跨度>
-
@Luksprog:如果您需要更多信息,我可以编辑我的帖子!我会感谢你的帮助。
-
@ArashGM 你能详细说明你是如何解决这个问题的吗?
标签: android android-fragments android-viewpager fragment