之前我们使用的是android.support.v4.view.PagerAdapter,现在我们换用 android.support.v4.app.FragmentPagerAdapter。


文档上面有官方的示例代码:

android-sdk-windows/docs/reference/android/support/v4/app/FragmentPagerAdapter.html


废话少说,贴上我的代码

main.xml

<?xml version="1.0" encoding="utf-8"?>                

list.xml

<?xml version="1.0" encoding="utf-8"?>                            


Activity

package com.test;import android.os.Bundle;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentActivity;import android.support.v4.app.FragmentManager;import android.support.v4.app.FragmentPagerAdapter;import android.support.v4.app.ListFragment;import android.support.v4.view.ViewPager;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.ListView;import android.widget.TextView;public class ViewPager4Activity extends FragmentActivity {//这个常量是指定你一共有多少个卡片,我这里是10,就是有10张卡片(页面)static final int NUM_ITEMS = 10;MyAdapter mAdapter;ViewPager mPager;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);mAdapter = new MyAdapter(getSupportFragmentManager());mPager = (ViewPager) findViewById(R.id.pager);mPager.setAdapter(mAdapter);//返回页首和页尾,也就是第一张卡片和第十张卡片Button button = (Button) findViewById(R.id.goto_first);button.setOnClickListener(new OnClickListener() {public void onClick(View v) {mPager.setCurrentItem(0);}});button = (Button) findViewById(R.id.goto_last);button.setOnClickListener(new OnClickListener() {public void onClick(View v) {mPager.setCurrentItem(NUM_ITEMS - 1);}});}public static class MyAdapter extends FragmentPagerAdapter {public MyAdapter(FragmentManager fm) {super(fm);}@Overridepublic int getCount() {return NUM_ITEMS;}@Overridepublic Fragment getItem(int position) {return ArrayListFragment.newInstance(position);}}public static class ArrayListFragment extends ListFragment {int mNum;public static final String[] sCheeseStrings = { "Abbaye de Belloc","Abbaye du Mont des Cats", "Abertam", "Abondance", "Ackawi", "Acorn","Adelost", "Affidelice au Chablis", "Afuega'l Pitu", "Airag", "Airedale","Aisy Cendre", "Allgauer Emmentaler" };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;}@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);mNum = getArguments() != null ? getArguments().getInt("num") : 1;}//这里是初始化页面内容的函数,我们的监听就是在这儿@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {View v = inflater.inflate(R.layout.list, container, false);View text = v.findViewById(R.id.text);((TextView) text).setText("Fragment #" + mNum);text.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubSystem.out.println("点击成功!");}});return v;}@Overridepublic void onActivityCreated(Bundle savedInstanceState) {super.onActivityCreated(savedInstanceState);setListAdapter(new ArrayAdapter(getActivity(),android.R.layout.simple_list_item_1, sCheeseStrings));}@Overridepublic void onListItemClick(ListView l, View v, int position, long id) {Log.i("FragmentList", "Item clicked: " + id);}}}


写监听可以 让 ArrayListFragment , implement OnClickListener 即可

当有很多卡片时,得在 onCreateView 函数中 把不同的layout找出不来,分别进行监听 

if (mNum == 0) {v = inflater.inflate(R.layout.xx, container, false);} 






更多相关文章

  1. android实现swipe的手势及页面拖动动画
  2. sencha touch 调用android主函数里的方法(可用与phoneGap开发第三
  3. android的帮助、about、关于作者、HELP等的提示页面
  4. Android Intent实现页面跳转的方法示例
  5. 用CSS3生成的一个漂亮的android客户端页面
  6. Android ViewPager多页面滑动切换以及单页卡内添加事件
  7. Android sql数据库的Android包里面的函数介绍
  8. Android中调用C++函数的一个简单Demo

随机推荐

  1. [置顶] android IPC通信(下)-AIDL
  2. TextView的跑马灯效果,还有焦点问题
  3. SuperMap iMobile for Android定位实现
  4. 关于Android的极光推送的消息栏
  5. RecyclerView不显示问题
  6. Android中的Grid间距(Grid Spacing on And
  7. 《Android开发艺术探索》笔记(五)
  8. android学习笔记之十一数据存储(Shared P
  9. androidP 系统集成时发现部分应用初次打
  10. android 实用的开源框架