ListFragment,即Fragment的一个子类,当我们用的一个Fragment只需要一个listview视图的时候使用 该类有几个特点: 1、ListFragment 本身具只有一个ListView...视图,返回的也是一个只有ListView的布局对象 2、ListFragment 不需要指定布局,本身固定,只有一个ListView视图 3、给ListFragment中的ListView加载数据或者绑定适配器都只能出现...onCreateView(),因为onCreateView方法之后,ListView对象才创建, 4、给 ListView设置适配器 用setListAdapter 5、ListFragment已经实现了其...FragmentTransaction action = manager.beginTransaction(); 20 //添加 21 action.add(R.id.view_listfragment...android.widget.ListView; 11 import android.widget.Toast; 12 13 public class MyListFragment extends ListFragment
之前实现过Android开发之ContentProvider结合LoaderManager加载数据,现在来实现用ListFragment加载 先看main.xml 说明:右边的linearlayout是要加载listFragment...的子类的,通过“添加”按钮实现 由于是listFragment的子类,所以还是需要布局文件的(就是listfragment的默认布局) list.xml <?...) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //加载listfragment...而这个例子的listview在listfragment里面,所以要挪到listfragment里面初始化 RightFragment.java: package com.example.listfragmentloadermanager
TODO Auto-generated method stub //super.onSaveInstanceState(outState); } 第二个、使用ListFragment...中,想当然的以为,像其他Fragment一样: public class ListFragmentTest extends ListFragment { @Override public...(ListFragment.java:402) 07-16 15:43:22.026: E/AndroidRuntime(605): at android.app.ListFragment.onViewCreated...因为ListFragment里面已经提供了系统自带的ListView,这样写,当然出错。...其实ListFragment当然运行自定义布局,但是Listview要用系统的: <?xml version="1.0" encoding="utf-8"?
是怎么实现无限轮播的呢,关键setData()方法里,如下代码: public void setData(FragmentManager fragmentManager, List listFragment...){ viewNumber=listFragment.size(); initIndicator(getContext()); this.loopFragmentPagerAdapter...代码如下: public class LoopFragmentPagerAdapter extends FragmentPagerAdapter { public List listFragment...LoopFragmentPagerAdapter(FragmentManager fm, List listData) { super(fm); this.listFragment...用position = position % listFragment.size(); 滚动的坐标求余Fragment的个数既求得正确的Fragemnt的坐标,代码很少,很简单,这样就可以Fragment
. */ public class MyAdapter extends FragmentPagerAdapter{ List<Fragment listFragment; List<...,List<String listTab) { super(fm); this.listFragment=listFragment; this.listTab=listTab; }...(position); } @Override public int getCount() { //一共多少个页面 return listFragment.size();...= new ArrayList<Fragment (); //view加入list listFragment.add(new MyFragment1()); listFragment.add(new...MyFragment2()); listFragment.add(new MyFragment3()); //标题加入list listTab = new ArrayList<String ()
如下例,OnArticleSelectedListener接口 在fragmentA中定义: public static class FragmentA extends ListFragment{...OnArticleSelectedListener接口,检查方法就是对传入的activity的实例进行类型转换, 如下所示: public static class FragmentA extends ListFragment...例如,如果fragmentA是一个ListFragment,每次选中列表的一项时,就会调用fragmentA的onListItemClick()方法,在这个方法中调用onArticleSelected(...)来与activity共享事件,如下: public static class FragmentA extends ListFragment{ OnArticleSelectedListener
Message msg=new Message(); msg.arg1=i; handler.sendMessage(msg); 一个是msg直接发送,一个是handler发送 addFooterView...当添加头部和底部布局还有另外一个重载方法就是addHeaderView(headView, null, false) 和addFooterView(footerView, null, false)方法。...下面以addFooterView()方法为例: addFooterView()方法必须放在listview.setadapter前面,给listview添加头部必须在绑定adapter前添加,否则会报错
public static class FragmentA extends ListFragment { ......public static class FragmentA extends ListFragment { onMp3ChangedListener mListener; ......例如,Fragment A继承了ListFragment,那么用户每次点击列表项时,系统都会调用Fragment中的onListItemClick()方法,然后调用onMp3Changed()方法和Activity...共享事件: public static class FragmentA extends ListFragment { OnArticleSelectedListener mListener;
如果开发ListFragment的子类,无须重写onCreateView()方法,只要调用ListFragment的setAdapter()方法为该Fragment设置Adapter即可。...该ListFragment将会显示该Adapter提供的列表项。 本Demo实现了一个ListFragment的子类用于显示书目列表。...ListView.CHOICE_MODE_SINGLE : ListView.CHOICE_MODE_NONE); } } 为了控制ListFragment显示的列表项,只要调用ListFragment...提供的setAdapter()方法,即可让该ListFragment显示该Adapter所提供的多个列表项。.../>元素添加了BookListFragment,该Activity的左边将会显示一个ListFragment,右边只是一个FrameLayout容器,该容器将会动态更新其中显示的Fragment。
android:layout_height="match_parent" android:layout_weight="1" class="com.xuliugen.frag.ListFragment...android:layout_height="match_parent" android:layout_weight="1" class="com.xuliugen.frag.ListFragment...将文本框对象添加到滚动视图中 text.setText(Data.DETAIL[getShownIndex()]); // 设置文本框中要显示的文本 return scroller; } } ListFragment.java...android.view.View; import android.widget.ArrayAdapter; import android.widget.ListView; public class ListFragment...extends android.app.ListFragment { boolean dualPane; // 是否在一屏上同时显示列表和详细内容 int curCheckPosition = 0;
wrapHeaderListAdapterInternal(); } } } /** * 添加一个footerView * @param v */ public void addFooterView...this); footerView.setImageResource(R.drawable.hhfj); footerView.setLayoutParams(params); mRecyclerView.addFooterView...int i = 0; i < 3; i++) { String data ="adapter...." + i; mList01.add(data); } } } 使用直接调用addHeaderView、addFooterView...除了这种方式来实现addHeaderView和addFooterView,另外一种方式就是封装Adapter来实现,原理还是保持不变:根据不同的条目类型来创建条目和绑定条目的数据。...headerView.setLayoutParams(params); VIEW_HEADER = headerView; notifyItemInserted(0); } } public void addFooterView
ListView是有addHeaderView和 addFooterView两个方法的. 但是作为官方推荐的ListView的升级版RecyclerView缺无法实现这两个方法。...https://github.com/jczmdeveloper/XCRecyclerView 我看了下这个源码,很简单,即写了一个继承RecyclerView的控件,自己实现addHeaderView和addFooterView...addHeaderView(View view){ mHeaderViews.clear(); mHeaderViews.add(view); } public void addFooterView...R.layout.layout_footer,mRecyclerView,false); mRecyclerView.addHeaderView(mHeaderView); mRecyclerView.addFooterView
setAdapter和addHeaderView、addFooterView 可以使用addHeaderView和addFooterView来为ListView添加首尾的个性视图。...所以,为了保持兼容性,无论是在API 19之前或之后,保持addHeaderView和addFooterView在setAdapter之前执行。...而addFooterView在setAdapter之后执行的话,虽然不引起运行时错误——但是更迷惑的是——添加的视图是看不到了。 这个是和API Level相关的一个问题,算是谷歌的坑吧。
四、测试代码: package com.goso.testapp; import android.app.Activity; import android.app.ListFragment; import...android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.ListView; /** * Demonstration of using ListFragment...Log.e("HJJ", "Activity &&&& onDestroy..."); } public static class ArrayListFragment extends ListFragment
ListView是有addHeaderView和 addFooterView两个方法的. 但是作为官方推荐的ListView的升级版RecyclerView缺无法实现这两个方法。...三、RecyclerView的头部与尾部实现 RecyclerView不像ListView拥有addHeaderView()与addFooterView()的方法简单添加头部尾部即可,而且RecyclerView...headerView.setLayoutParams(params); VIEW_HEADER = headerView; ifGridLayoutManager(); notifyItemInserted(0); } } public void addFooterView...LinearLayoutManager(this)); adapter = new MyAdapter(data, this); mRecyclerView.setAdapter(adapter); adapter.addFooterView
new_item_fragment.xml 中并排放置一个 EditText 和一个按钮 ListStoreFragment.java 使用前面定义的界面 public class ListStoreFragment extends ListFragment...{ /// 继承自ListFragment,已经封装好了listview /// 不需要自己写ListView了 } NewItemFragment.java /** * 声明一个接口,定义向activity...adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, data); // ListFragment
1.3 Fragment的使用相关 使用Fragment时,需要继承Fragment或者Fragment的子类(DialogFragment, ListFragment, PreferenceFragment...注意,如果继承自ListFragment,onCreateView()默认的实现会返回一个ListView,所以不用自己实现。 ...这个情况下,在fragment A中声明一个这样的接口OnArticleSelectedListener: public static class FragmentA extends ListFragment...比如,如果fragment A是ListFragment的子类,每一次用户点击一个列表项目,系统调用fragment中的onListItemClick()方法,在这个方法中可以调用onArticleSelected...public static class FragmentA extends ListFragment { OnArticleSelectedListener mListener; ...
ListFragment Displays a list of items that are managed by an adapter (such as a SimpleCursorAdapter)...注:如果你的fragment是从ListFragment中派生的,就不需要实现onCreateView()方法了,因为默认的实现已经为你返回了ListView控件对象。...如下例,OnArticleSelectedListener接口在fragmentA中定义: public static class FragmentA extends ListFragment{ .....例如,如果fragmentA是一个ListFragment,每次选中列表的一项时,就会调用fragmentA的onListItemClick()方法,在这个方法中调用onArticleSelected(...第一个是TitlesFragment,它从ListFragment派生,大部分列表的功能由ListFragment提供。
toolbar_tab; private NoScrollViewPager vp_content; private ViewPagerAdapter vpAdapter; private List<Fragment listFragment...vp_content = findViewById(R.id.vp_content); vpAdapter = new ViewPagerAdapter(getSupportFragmentManager(),listFragment...vp_content.setOffscreenPageLimit(2); toolbar_tab.setupWithViewPager(vp_content); for(int i=0;i<12;i++){ listFragment.add...(CeshiFragment.newInstance("第"+i+"页")); } vpAdapter.notifyDataSetChanged(); for(int i=0;i<listFragment.size
mLoreMoreView, footerParams);//加载更多view mListView = new ListView(context); mListView.addFooterView...加载更多是没有footerview的, * 但我这样把它加进去了,mFooterLayout是整个footerview的容器,是线性布局的,当然你也可以改 * 加载更多的view会拼在addFooterView...这个传进来的view下面 * @param footerView */ public void addFooterView(View footerView){
领取专属 10元无门槛券
手把手带您无忧上云