尝试在android中创建新闻源应用程序,从url获取json并使用costum适配器将其解析为listview。我的目标是使用"浏览器视图将页面切换到第三个片段"它显示来自给定网址的新内容。 问题是,当用户点击列表视图中的任何项目时,viewpager无法更改其页面。
每个片段有三个单独的布局,一个" main"与viewpager在其中的片段。 onclick-event附加到listview:
@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中。
答案 0 :(得分:0)
修正了没有inflater的问题:
ViewPager viewPager = (ViewPager) getActivity().findViewById(R.id.vpPager);
viewPager.setCurrentItem(1, true);