編輯:我想通了,感謝FragmentPagerAdapter與ArrayListFragment
我一直在試圖永遠現在實現我的每一個ViewPager的頁面單獨列表視圖。我非常瞭解this tutorial,但它只創建一個用於每個頁面的ListView。
我希望能夠在每個頁面中有多個ListView,從中我可以控制每個頁面的ListView會發生什麼onClick。我有我的應用程序與一個ListView一起工作(如在教程中),但我一直在努力掙扎與多個。
我的代碼發佈在下面,我嘗試了很多不同的東西,我只需要在我的開發中繼續前進。感謝您的幫助
private static class MyAdapter extends FragmentPagerAdapter implements
TitleProvider {
public MyAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return ArrayListFragment.newInstance(position);
}
@Override
public int getCount() {
return Arrays.TITLES.length;
}
public String getTitle(int position) {
return Arrays.TITLES[position];
}
}
public static class ArrayListFragment extends ListFragment {
int mNum;
/**
* Create a new instance of CountingFragment, providing "num" as an
* argument.
*/
static ArrayListFragment newInstance(int num) {
ArrayListFragment f = new ArrayListFragment();
// Supply num input as an argument.
Bundle args = new Bundle();
args.putInt("num", num);
f.setArguments(args);
return f;
}
/**
* When creating, retrieve this instance's number from its arguments.
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mNum = getArguments() != null ? getArguments().getInt("num") : 1;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.list_layout, container, false);
return v;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_list_item_1, Arrays.accTEAMS));
}
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
Log.i("FragmentList", "Item clicked: " + id);
}
}
這是我ListFragments之一:
public class ACCfragment extends ListFragment {
View v;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.list_layout, null);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_list_item_1, Arrays.accTEAMS);
setListAdapter(adapter);
}
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
}
你能告訴我們你所使用的API版本和支持你使用(如果有的話)包? FragmentPagerAdapter的規則可以根據這些版本而有所不同。 – losttime 2012-04-16 22:38:56
您想與我們分享您的解決方案嗎? – 2013-03-03 17:14:04