RecyclerView中ListView GridView 一行显示 多行显示
2017-12-03 17:03
465 查看
导入依赖
===============mainActivity===============
compile 'com.android.support:recyclerview-v7:25.3.1' //效果 //布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.bwei.administrator.dianshang.activity.FirstActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <Button android:onClick="listview" android:layout_width="0dp" android:layout_weight="1" android:layout_height="match_parent" android:text="listview" /> <Button android:onClick="gridview" android:layout_width="0dp" android:layout_weight="1" android:layout_height="match_parent" android:text="gridview" /> <Button android:onClick="yihang" android:layout_width="0dp" android:layout_weight="1" android:layout_height="match_parent" android:text="一行" /> <Button android:onClick="duohang" android:layout_width="0dp" android:layout_weight="1" android:layout_height="match_parent" android:text="多行" /> </LinearLayout> <android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/recycle_view" ></android.support.v7.widget.RecyclerView> </LinearLayout>
===============mainActivity===============
private RecyclerView recyclerView; private List<String> list; private SimpleRecycleAdapter simpleRecycleAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_first); //获取控件 recyclerView = (RecyclerView) findViewById(R.id.recycle_view); //数据源 list = new ArrayList<>(); for (int i=0;i<1000;i++){ list.add("条目"+i); } //设置布局管理器 recyclerView.setLayoutManager(new LinearLayoutManager(FirstActivity.this,LinearLayoutManager.VERTICAL,false)); //设置适配器 simpleRecycleAdapter = new SimpleRecycleAdapter(FirstActivity.this, list); recyclerView.setAdapter(simpleRecycleAdapter); } //listview按钮的点击事件 public void listview(View view){ recyclerView.setLayoutManager(new LinearLayoutManager(FirstActivity.this,LinearLayoutManager.VERTICAL,false)); simpleRecycleAdapter.notifyDataSetChanged(); } //gridview按钮的点击事件 public void gridview(View view){ recyclerView.setLayoutManager(new GridLayoutManager(FirstActivity.this,3)); simpleRecycleAdapter.notifyDataSetChanged(); } //一行按钮的点击事件 public void yihang(View view){ recyclerView.setLayoutManager(new LinearLayoutManager(FirstActivity.this,LinearLayoutManager.HORIZONTAL,false)); simpleRecycleAdapter.notifyDataSetChanged(); } //多行按钮的点击事件 public void duohang(View view){ recyclerView.setLayoutManager(new GridLayoutManager(FirstActivity.this,3, OrientationHelper.HORIZONTAL,false)); }------------------适配器-------------------
public class SimpleRecycleAdapter extends RecyclerView.Adapter<SimpleHolder> { Context context; List<String> list; public SimpleRecycleAdapter(Context context, List<String> list) { this.context = context; this.list = list; } @Override public SimpleHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(context).inflate(android.R.layout.simple_list_item_1, parent, false); SimpleHolder simpleHolder=new SimpleHolder(view); return simpleHolder; } @Override public void onBindViewHolder(SimpleHolder holder, int position) { holder.textView.setText(list.get(position)); } @Override public int getItemCount() { return list.size(); } }————————————泛型holder——————————————————
public class SimpleHolder extends RecyclerView.ViewHolder { public TextView textView; public SimpleHolder(View itemView) { super(itemView); textView = (TextView) itemView.findViewById(android.R.id.text1); } }
相关文章推荐
- RecyclerView, ListView 只显示一行内容 问题解决
- [置顶] ScrollView嵌套 ListView、RecyclerView、GridView 、WebView 出现的高度显示问题
- ListView的addHeaderView(),ScrollView嵌套ListView和GridView只显示一行。
- ScrollView嵌套ListView,GridView,RecyclerView以及RecyclerView嵌套RecyclerView显示不全的解决方法
- Android在RecyclerView/ScrollView中嵌套一个GridView或者recyclerView时只显示一行的原因及解决方法
- Scrollview嵌套Listview、GridView、RecycleView时只能显示一行或者自动滚动到底部
- Android ScrollView中嵌套GridView,ListView只显示一行的解决办法
- recyclerView单行 多行 listView GridView
- Recyclerview 单行 多行 listView GridView
- RecyclerView的ListView显示效果
- Android RecyclerView之GridView显示(三)
- AndroidSwipeLayout的使用(listview,gridview,view中滑动显示隐藏按钮的使用)
- 优化ImageView,在使用ListView或GridView的时候,每次更新图片的时候,在显示新的图片和旧的图片一样大小的时候,不需要去重新计算大小
- Android 嵌套GridView,ListView只显示一行的解决办法
- RecyclerView只能显示一行的问题
- android ListView 和GridView最后一行数据纵向显示不完整的问题解决小技巧
- Android RecyclerView之ListView显示(二)
- RecyclerView嵌套RecyclerView只显示一行
- 解决GridView,ListView嵌套在ScrollView时只显示一行高度的问题
- ScrollView中嵌套GridView,ListView只显示一行的解决办法