RecyclerView的使用和样式

来源:互联网 发布:github tensorflow 编辑:程序博客网 时间:2024/06/03 04:38

今天写了个demo,发现了很多问题。。

小小的RecyclerView也不是那么好用的。。

Java代码:

public class MainActivity extends AppCompatActivity {    private RecyclerView rv;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);//        rv = new RecyclerView(this);//        setContentView(rv);        setContentView(R.layout.activity_main);        rv=(RecyclerView) findViewById(R.id.recycler);        /**         * 无论是new RecyclerView对象还是使用XML布局,都要用布局管理器。         * 如下代码,不使用管理器就不显示数据         *///        rv.setLayoutManager(new LinearLayoutManager(this));        //第二项是滚动方向,第三项是是否反转,就是是不是从右到左。        rv.setLayoutManager(new LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false));        rv.setAdapter(new MyAdapter());    }}

XML布局:

<?xml version="1.0" encoding="utf-8"?><RelativeLayout    xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="com.qihao.day621.MainActivity">    <android.support.v7.widget.RecyclerView        android:id="@+id/recycler"        android:layout_width="wrap_content"        android:layout_height="wrap_content" /></RelativeLayout>

适配器adapter:

/** * Created by qihao on 2016/6/21. */public class MyAdapter extends RecyclerView.Adapter {    class viewHolder extends RecyclerView.ViewHolder {        private View root;        private TextView title ,text;        public viewHolder(View root) {            super(root);            title=(TextView) root.findViewById(R.id.title_view);            text=(TextView) root.findViewById(R.id.text_cont);        }        public TextView getText() {            return text;        }        public TextView getTitle() {            return title;        }    }    @Override    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {        return new viewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_view,null));    }    @Override    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {        viewHolder vh = (viewHolder) holder;        vh.getText().setText("内容"+position);        vh.getTitle().setText("标题"+position);    }    @Override    public int getItemCount() {        return 30;    }    //private String[] data = new String[]{"111", "222", "3333"};}

item布局:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical">    <TextView        android:id="@+id/title_view"        android:textSize="20sp"        android:layout_width="wrap_content"        android:layout_height="wrap_content" />    <TextView        android:id="@+id/text_cont"        android:textSize="14sp"        android:layout_width="wrap_content"        android:layout_height="wrap_content" /></LinearLayout>




demo源码下载:http://download.csdn.net/detail/gfg156196/9555621






1 0
原创粉丝点击