Android Fragment RecycleListView
1、新建SuperActivity
package com.example.ting.criminalintentpractise; import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager; /**
* Created by ting on 17/3/20.
*/ public abstract class SuperFragmentActivity extends FragmentActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragmentlistactivity); //加载activity的样式文件,里面包含一个FragmentLayout
FragmentManager fm=getSupportFragmentManager(); //获取Fragment管理器
Fragment fragment=fm.findFragmentById(R.id.mainfragment); //判断是否被加载过
if (fragment == null){
fragment=createFragment(); //创建对象
fm.beginTransaction().add(R.id.mainfragment,fragment).commit(); //提交管理器
}
}
public abstract Fragment createFragment();
}
2、新建FragmentActivity
public class FragmentListActivity extends SuperFragmentActivity{
@Override
public Fragment createFragment() {
return new StudentListFragment(); //为super创建指向的Fragment
}
}
3、创建Fragment
public class StudentListFragment extends Fragment {
private TextView mNameTextView;
private TextView mAgeTextView;
private List<Student> mStudents;
@Nullable
@Override
//覆盖onCreateView 方法,返回View.
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
View view=inflater.inflate(R.layout.recyclistview, container,false); //绑点Fragment对应的样式文件
RecyclerView recyclerView= (RecyclerView) view.findViewById(R.id.recycleview); //获取样式文件中的RecycleView
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); //为RecycleView绑定样式管理器
recyclerView.setAdapter(new RecycleAdpter()); //为RecycleView绑定适配器
return view;
}
//建立内部类,实现Adapter
private class RecycleAdpter extends RecyclerView.Adapter<RecyclerViewHolder> {
@Override
public RecyclerViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
LayoutInflater inflater=LayoutInflater.from(getActivity()); //通过LayoutInflater 获取统一的inflater
View v=inflater.inflate(R.layout.studentview,parent,false); //通过获取的inflater加载 listview 的xml样式
return new RecyclerViewHolder(v); //返回生成的Holder
}
@Override
//为每一个listview 注入内容。
public void onBindViewHolder(RecyclerViewHolder holder, int position) {
Student student=mStudents.get(position);
mNameTextView.setText(student.getName());
mAgeTextView.setText(student.getAge()+"");
}
@Override
//获取总的需要显示的数目
public int getItemCount() {
mStudents=StudentList.get();
return mStudents.size();
}
}
//Holder 对生成的listview进行深加工。
private class RecyclerViewHolder extends RecyclerView.ViewHolder{
public RecyclerViewHolder(View itemView) {
super(itemView);
mAgeTextView= (TextView) itemView.findViewById(R.id.age_textview);
mNameTextView= (TextView) itemView.findViewById(R.id.name_textview);
}
}
}
Android Fragment RecycleListView的更多相关文章
- 【Android自学日记】【转】Android Fragment 真正的完全解析(下)
上篇博客中已经介绍了Fragment产生原因,以及一些基本的用法和各种API,如果你还不了解,请看:Android Fragment 真正的完全解析(上). 本篇将介绍上篇博客提到的:如何管理Frag ...
- Android Fragment使用(四) Toolbar使用及Fragment中的Toolbar处理
Toolbar作为ActionBar使用介绍 本文介绍了在Android中将Toolbar作为ActionBar使用的方法. 并且介绍了在Fragment和嵌套Fragment中使用Toolbar作为 ...
- Android Fragment使用(三) Activity, Fragment, WebView的状态保存和恢复
Android中的状态保存和恢复 Android中的状态保存和恢复, 包括Activity和Fragment以及其中View的状态处理. Activity的状态除了其中的View和Fragment的状 ...
- Android Fragment使用(二) 嵌套Fragments (Nested Fragments) 的使用及常见错误
嵌套Fragment的使用及常见错误 嵌套Fragments (Nested Fragments), 是在Fragment内部又添加Fragment. 使用时, 主要要依靠宿主Fragment的 ge ...
- Android Fragment使用(一) 基础篇 温故知新
Fragment使用的基本知识点总结, 包括Fragment的添加, 参数传递和通信, 生命周期和各种操作. Fragment使用基础 Fragment添加 方法一: 布局里的标签 标识符: tag, ...
- Android Fragment应用实战
现在Fragment的应用真的是越来越广泛了,之前Android在3.0版本加入Fragment的时候,主要是为了解决Android Pad屏幕比较大,空间不能充分利用的问题,但现在即使只是在手机上, ...
- Android Fragment 真正的完全解析(下)
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37992017 上篇博客中已经介绍了Fragment产生原因,以及一些基本的用法和 ...
- Android Fragment
1.Fragment必须是依存与Activity而存在的,因此Activity的生命周期会直接影响到Fragment的生命周期. 2.Fragment 生命周期: 首页 最新文章 在线课程 业界 开发 ...
- Android Fragment应用实战,使用碎片向ActivityGroup说再见
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/13171191 现在Fragment的应用真的是越来越广泛了,之前Android在3 ...
随机推荐
- C#监测方法执行效率
System.Diagnostics.Stopwatch watch = new Stopwatch(); watch.Start(); // 开始监视代码运行时间 //需要监测的代码 dothing ...
- 数据结构——单链表java简易实现
巩固数据结构 单链表java实现 单链表除了表尾 每个几点都有一个后继 结点有数据和后继指针组成 通过构建表头和表尾(尾部追加需要)两个特殊几点 实现单链表的一些操作,代码如下 package co ...
- Android适配文件dimen自动生成代码
1:保存下,别人的code import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputSt ...
- WCF与 Web Service的区别是什么?各自的优点在哪里呢?
这是很多.NET开发人员容易搞错的问题.面试的时候也经常遇到,初学者也很难分快速弄明白 Web service: .net技术中其实就指ASP.NET Web Service,用的时间比较长,微软其实 ...
- (转) shiro权限框架详解06-shiro与web项目整合(上)
http://blog.csdn.net/facekbook/article/details/54947730 shiro和web项目整合,实现类似真实项目的应用 本文中使用的项目架构是springM ...
- 如何在vue里面正确的引用 jquery 和 第三方插件
vue-cli webpack全局引入jquery(jq通过npm安装的并非本地文件) 1.首先在package.json里加入, dependencies:{ "jquery" ...
- 为什么java io流必须得关闭
当我们new一个java流对象之后,不仅在计算机内存中创建了一个相应类的实例对象.而且,还占用了相应的系统资源,比如:文件句柄.端口.数据库连接等.在内存中的实例对象,当没有引用指向的时候,java垃 ...
- openlayers5学习笔记-添加Overlay
tmp.addPosition = function (map, item) { var ele = document.createElement("div"); var img ...
- Kattis - Different Distances
Input The input file contains up to 10001000 test cases, each of which contains five real numbers, x ...
- pycharm一些快捷键
1.鼠标方法在内建函数上,Ctrl+B,看内建函数的定义 2.pycharm单行和多行注释快捷键 单多行注释就一个组合键:选中+Ctrl+/ 3.Python代码块批量添加Tab缩进 按Ta ...