关于FragmentPager实现Fragment的滑动切换
生活随笔
收集整理的這篇文章主要介紹了
关于FragmentPager实现Fragment的滑动切换
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
//通過定義FragmentPager
package com.example.android.supportv4.app;
import com.example.android.supportv4.Cheeses;
import com.example.android.supportv4.R;
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.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
public class FragmentPagerSupport extends FragmentActivity {
? ? static final int NUM_ITEMS = 10;
? ? MyAdapter mAdapter;
? ? ViewPager mPager;
? ? @Override
? ? protected void onCreate(Bundle savedInstanceState) {
? ? ? ? super.onCreate(savedInstanceState);
? ? ? ? setContentView(R.layout.fragment_pager);
? ? ? ? mAdapter = new MyAdapter(getSupportFragmentManager());
? ? ? ? mPager = (ViewPager)findViewById(R.id.pager);
? ? ? ? mPager.setAdapter(mAdapter);
? ? ? ? // Watch for button clicks.
? ? ? ? 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);
? ? ? ? }
? ? ? ? @Override
? ? ? ? public int getCount() {
? ? ? ? ? ? return NUM_ITEMS;
? ? ? ? }
? ? ? ? @Override
? ? ? ? public Fragment getItem(int position) {
? ? ? ? ? ? return ArrayListFragment.newInstance(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;
? ? ? ? }
? ? ? ? /**
? ? ? ? ?* The Fragment's UI is just a simple text view showing its
? ? ? ? ?* instance number.
? ? ? ? ?*/
? ? ? ? @Override
? ? ? ? public View onCreateView(LayoutInflater inflater, ViewGroup container,
? ? ? ? ? ? ? ? Bundle savedInstanceState) {
? ? ? ? ? ? View v = inflater.inflate(R.layout.fragment_pager_list, container, false);
? ? ? ? ? ? View tv = v.findViewById(R.id.text);
? ? ? ? ? ? ((TextView)tv).setText("Fragment #" + mNum);
? ? ? ? ? ? return v;
? ? ? ? }
? ? ? ? @Override
? ? ? ? public void onActivityCreated(Bundle savedInstanceState) {
? ? ? ? ? ? super.onActivityCreated(savedInstanceState);
? ? ? ? ? ? setListAdapter(new ArrayAdapter<String>(getActivity(),
? ? ? ? ? ? ? ? ? ? android.R.layout.simple_list_item_1, Cheeses.sCheeseStrings));
? ? ? ? }
? ? ? ? @Override
? ? ? ? public void onListItemClick(ListView l, View v, int position, long id) {
? ? ? ? ? ? Log.i("FragmentList", "Item clicked: " + id);
? ? ? ? }
? ? }
}
package com.example.android.supportv4.app;
import com.example.android.supportv4.Cheeses;
import com.example.android.supportv4.R;
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.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
public class FragmentPagerSupport extends FragmentActivity {
? ? static final int NUM_ITEMS = 10;
? ? MyAdapter mAdapter;
? ? ViewPager mPager;
? ? @Override
? ? protected void onCreate(Bundle savedInstanceState) {
? ? ? ? super.onCreate(savedInstanceState);
? ? ? ? setContentView(R.layout.fragment_pager);
? ? ? ? mAdapter = new MyAdapter(getSupportFragmentManager());
? ? ? ? mPager = (ViewPager)findViewById(R.id.pager);
? ? ? ? mPager.setAdapter(mAdapter);
? ? ? ? // Watch for button clicks.
? ? ? ? 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);
? ? ? ? }
? ? ? ? @Override
? ? ? ? public int getCount() {
? ? ? ? ? ? return NUM_ITEMS;
? ? ? ? }
? ? ? ? @Override
? ? ? ? public Fragment getItem(int position) {
? ? ? ? ? ? return ArrayListFragment.newInstance(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;
? ? ? ? }
? ? ? ? /**
? ? ? ? ?* The Fragment's UI is just a simple text view showing its
? ? ? ? ?* instance number.
? ? ? ? ?*/
? ? ? ? @Override
? ? ? ? public View onCreateView(LayoutInflater inflater, ViewGroup container,
? ? ? ? ? ? ? ? Bundle savedInstanceState) {
? ? ? ? ? ? View v = inflater.inflate(R.layout.fragment_pager_list, container, false);
? ? ? ? ? ? View tv = v.findViewById(R.id.text);
? ? ? ? ? ? ((TextView)tv).setText("Fragment #" + mNum);
? ? ? ? ? ? return v;
? ? ? ? }
? ? ? ? @Override
? ? ? ? public void onActivityCreated(Bundle savedInstanceState) {
? ? ? ? ? ? super.onActivityCreated(savedInstanceState);
? ? ? ? ? ? setListAdapter(new ArrayAdapter<String>(getActivity(),
? ? ? ? ? ? ? ? ? ? android.R.layout.simple_list_item_1, Cheeses.sCheeseStrings));
? ? ? ? }
? ? ? ? @Override
? ? ? ? public void onListItemClick(ListView l, View v, int position, long id) {
? ? ? ? ? ? Log.i("FragmentList", "Item clicked: " + id);
? ? ? ? }
? ? }
}
總結(jié)
以上是生活随笔為你收集整理的关于FragmentPager实现Fragment的滑动切换的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ListFragment支持列表
- 下一篇: 关于保存状态的Fragment,setR