android 之FragmentPagerAdapter
2015-07-20 22:30
513 查看
android为我们提供了一个十分方便的类FragmentPagerAdapter,以便于在一个应用中对页面进行切换。
在对该类进行应用时,我们首先来认识一下几个方法:
接下来我们来用这个类做一个小小的应用,代码如下:
我的fragment页面,代码如下:
接下来就是xml了:
第二个:
主程序代码
好了,快点去试一下吧
在对该类进行应用时,我们首先来认识一下几个方法:
getItem(int position):该方法的作用是实例化某个页面类对象
getCount():返回当前实例化的个数
接下来我们来用这个类做一个小小的应用,代码如下:
[code]package com.example.fragmentpagertest; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; public class MyAdapter extends FragmentPagerAdapter { public MyAdapter(FragmentManager fm) { super(fm); // TODO Auto-generated constructor stub } @Override public Fragment getItem(int position) { // TODO Auto-generated method stub return ArrayListFragment.newInstance(position); } @Override public int getCount() { // TODO Auto-generated method stub return 3; } }
我的fragment页面,代码如下:
[code]package com.example.fragmentpagertest; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.ListFragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; public class ArrayListFragment extends Fragment{ static ArrayListFragment newInstance(int layoutId){ ArrayListFragment f=new ArrayListFragment(); Bundle b=new Bundle(); b.putInt("num", layoutId); f.setArguments(b); return f; } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // TODO Auto-generated method stub return inflater.inflate(R.layout.fragment_01, container, false); } /*此处若要用必须要继承ListFragment,不然会报错,别问我为什么,我也不知道*/ /*@Override public void onActivityCreated(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onActivityCreated(savedInstanceState); setListAdapter(new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, 0)); }*/ }
接下来就是xml了:
[code]<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:background="#FF0000" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/btn1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="改变文本为Hello Viewpager" /> <TextView android:id="@+id/tv1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="第一个fragment" /> </LinearLayout>
第二个:
[code]<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:padding="4dip" android:gravity="center_horizontal" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v4.view.ViewPager android:id="@+id/pager" android:layout_width="match_parent" android:layout_height="0px" android:layout_weight="1"> </android.support.v4.view.ViewPager> </LinearLayout>
主程序代码
[code]public class MainActivity extends ActionBarActivity { private ViewPager m_vp; private MyAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); m_vp=(ViewPager)findViewById(R.id.pager); adapter=new MyAdapter(getSupportFragmentManager()); m_vp.setAdapter(adapter); } }
好了,快点去试一下吧
相关文章推荐
- android 保存bitmap到指定文件
- Android精确适配不同的dpi和屏幕尺寸(附dimens按比例变化数字的工具类)
- android 清空指定文件夹
- android findVIewById()在线生成工具
- Android存储之SharedPreferences
- Android存储之SharedPreferences
- android 离线权限设置
- 保持Service不被Kill掉的方法--双Service守护 && Android实现双进程守护
- Android添加Widget
- 大话Android开发中的设计模式
- Android开发在任意类中获取当前屏幕宽高
- android fragment学习总结
- Android混淆之ProGuard
- Android 外部存储无法写入的解决方法
- Android开发之JSON使用
- Android自定义控件属性
- Android中适配器的使用
- android蓝牙4.0(BLE)开发之ibeacon初步
- Android中涉及到的焦点问题,focusable,clickable,enabled
- [Android Studio] 使用本地 aar 文件