【问题标题】:Android - ViewPager won't let me change page when clicking on listview itemAndroid - 单击列表视图项时,ViewPager 不会让我更改页面
【发布时间】:2015-12-31 15:12:46
【问题描述】:

尝试在 android 中制作新闻提要应用程序,该应用程序从 url 获取 json 并使用 costum 适配器将其解析为 listview。我的目标是使用“浏览器视图”将页面切换到第三个片段,该片段显示来自给定 url 的新内容。 问题是当用户点击列表视图中的任何项目时,viewpager 不会改变它的页面。

我为每个片段和一个带有 viewpager 的“主要”片段设置了三个单独的布局。 onclick 事件附加到列表视图:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         final Bundle savedInstanceState) {

    View mainview = inflater.inflate(R.layout.main, container, false);
    viewPager = (ViewPager) mainview.findViewById(R.id.vpPager);

    View view = inflater.inflate(R.layout.second_fragment, container, false);

    listView = (ListView) view.findViewById(R.id.listView);

    listView.setAdapter(new costumAdapter(this.getContext(), R.layout.list_row, refresh()));

    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Log.i("Clicked item: ", String.valueOf(position));  //works
            model m = (model) listView.getItemAtPosition(position);
            System.out.println( m.url); //works

            viewPager.setCurrentItem(2, true); //Doesnt work...
        }
    });

    return view;
}

refresh() 方法返回 json 数据,因此我们可以将其放入 listview 中。

【问题讨论】:

    标签: java android listview android-fragments android-viewpager


    【解决方案1】:

    在没有充气机的情况下解决了这样的问题:

                ViewPager viewPager = (ViewPager) getActivity().findViewById(R.id.vpPager);
                viewPager.setCurrentItem(1, true);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-18
      • 1970-01-01
      • 1970-01-01
      • 2014-10-08
      相关资源
      最近更新 更多