【发布时间】: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