RecyclerView再学习
来源:互联网 发布:can总线控制伺服编程 编辑:程序博客网 时间:2024/05/25 19:57
RecyclerView再学习
public class MainActivity extends AppCompatActivity { private RecyclerView mRecyclerView; private List<String> titles = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); for (int i = 0; i < 100; i++) { titles.add("标题" + i); } mRecyclerView = (RecyclerView) findViewById(R.id.myRecyclerView); MyAdapt myAdapt = new MyAdapt(); // 创建线性布局管理器 LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this); // 设置线性布局管理器的方向为垂直 linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL); // 创建网格布局管理器 行数为3 GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3); // 设置网格布局管理器的方向 gridLayoutManager.setOrientation(GridLayoutManager.VERTICAL); // 创建垂直瀑布流管理器 StaggeredGridLayoutManager staggeredGridLayoutManager = new StaggeredGridLayoutManager(3, StaggeredGridLayoutManager.VERTICAL); // 创建水平瀑布流管理器 //StaggeredGridLayoutManager staggeredGridLayoutManager = // new StaggeredGridLayoutManager(3, StaggeredGridLayoutManager.HORIZONTAL); // 设置布局管理器 mRecyclerView.setLayoutManager(gridLayoutManager); // 为RecyclerView设置适配器 mRecyclerView.setAdapter(myAdapt); } // 创建适配器继承Recycler的适配器 class MyAdapt extends RecyclerView.Adapter<MyViewHolder> { @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = getLayoutInflater().inflate(R.layout.item_layout, null, false); final MyViewHolder myViewHolder = new MyViewHolder(view); // 为每个item设置点击事件 view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 获取实际的位置 int pos = myViewHolder.getAdapterPosition(); Toast.makeText(MainActivity.this, "当前位置" + pos, Toast.LENGTH_SHORT).show(); } }); // 这里返回的不是View return myViewHolder; } @Override public void onBindViewHolder(MyViewHolder holder, int position) { // 在这里为每个item设置相关的属性 holder.setTv(titles.get(position)); } @Override public int getItemCount() { // 获取总的个数 return titles.size(); } } // 创建ViewHolder继承于ViewHolder class MyViewHolder extends RecyclerView.ViewHolder { private TextView mTv; private ImageView mImg; public MyViewHolder(View itemView) { super(itemView); mImg = (ImageView) itemView.findViewById(R.id.imageView); mTv = (TextView) itemView.findViewById(R.id.textView); } public void setTv(String text) { mTv.setText(text); } }}
<android.support.v7.widget.RecyclerView android:id="@+id/myRecyclerView" android:layout_width="match_parent" android:layout_height="match_parent"></android.support.v7.widget.RecyclerView>
标准写法
// 标准写法 // create a new viewView v = LayoutInflater.from(parent.getContext()) .inflate(R.layout.my_text_view, parent, false);
0 0
- RecyclerView再学习
- RecyclerView学习
- RecyclerView学习
- 【学习】RecyclerView
- RecyclerView学习
- RecyclerView学习
- RecyclerView学习
- 学习RecyclerView
- RecyclerView学习
- Android学习之RecyclerView
- Android学习之RecyclerView
- Android学习之RecyclerView
- 学习RecyclerView和CardView
- 学习RecyclerView(一)
- RecyclerView学习资料
- RecyclerView学习笔记
- RecyclerView+Cardview学习探索
- #Android学习#RecyclerView基础
- 先进的区块链技术将会再次颠覆互联网领域
- webview中添加点击图片浏览事件
- 超星慕课尔雅中国历史人文地理(上)答案题库
- Redis Sentinel;Redis Sentinel配置;redis集群;redis故障转移[原创]
- 简单的C++加载jvm实现--简单的日志输出--JAVA端程序
- RecyclerView再学习
- 永不止步
- 再见,2016(本兮)
- Mybatis续、Mapper映射器接口规则
- JavaScript:直接写入 HTML 输出流
- android兼容低版本Fragment
- 【求助】android 用布局界面 button布局 按下响应系统按键事件
- Android Studio的一个问题
- 类型 FragmentTransaction 中的方法 replace(int, Fragment)对于参数(int, Fragment1)不适用