1、用AndroidStudio开发的,在项目中导入jar包
问题:
1.)recyclerview导入包的问题
2. )
昨天demo报这个
出现No layout manager attached; skipping layout错误
是没有设置LayoutManager
原因是:
rv.setLayoutManager(new LinearLayoutManager(this));//这里用线性显示 类似于listview
2.代码
package com.example.administrator.recyclerview; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import java.util.ArrayList; import java.util.List; /** * time:2017/1/4 */ public class MainActivity extends AppCompatActivity { private RecyclerView rv; private RecyclerView.Adapter myAdapter; private List<String> mDatas; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); rv = (RecyclerView) findViewById(R.id.rv); // initData(); //TODO rv.setLayoutManager(new LinearLayoutManager(this));//这里用线性显示 类似于listview myAdapter = new MyAdapter(this); rv.setAdapter(myAdapter); } // protected void initData() { // mDatas = new ArrayList<String>(); // for (int i = 'A'; i < 'z'; i++) { // mDatas.add("" + (char) i); // } // } }
3、adapter
package com.example.administrator.recyclerview; import android.content.Context; import android.support.v7.widget.RecyclerView; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; /** * Created by Administrator on 2017/1/4. */ class MyAdapter extends RecyclerView.Adapter { Context context; public MyAdapter(Context context) { this.context = context; } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = View.inflate(context,R.layout.item,null); Holder holder = new Holder(view); return holder; } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) { final Holder h = (Holder) holder; h.setData(position); } @Override public int getItemCount() { // return list.size(); return 10; } } class Holder extends RecyclerView.ViewHolder { TextView mtv; public Holder(View view) { super(view); mtv = (TextView) view.findViewById(R.id.tv); } public void setData(int position) { // mtv.setText(list.get(position).getName()); mtv.setText("wowo"); } }4、布局
<?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.example.administrator.recyclerview.MainActivity"> <android.support.v7.widget.RecyclerView android:id="@+id/rv" android:layout_width="match_parent" android:layout_height="match_parent" /> </RelativeLayout>5、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"> <TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>