您的位置:首页 > 移动开发 > Android开发

最基础的RecyclerView

2016-11-06 16:20 375 查看

Actvity

package com.example.administrator.myapplication;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import com.example.administrator.myapplication.Adapter.MyRecycleAdapter;
import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {
private RecyclerView recyclerView;
private MyRecycleAdapter adapter;
private ArrayList<String> data = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
recyclerView = (RecyclerView) findViewById(R.id.recycle);
getData();

adapter = new MyRecycleAdapter(getApplicationContext(),data);
recyclerView.setAdapter(adapter);

//布局管理器,context,水平或竖直,是否反转
LinearLayoutManager ly = new LinearLayoutManager(getApplicationContext(),LinearLayoutManager.HORIZONTAL,false);
recyclerView.setLayoutManager(ly);
}

private void getData() {
data.add("hah111");
data.add("我问问1");
data.add("我问问2");
data.add("我问问3");
data.add("我问问4");
data.add("我问问5");
}
}


Adapter

package com.example.administrator.myapplication.Adapter;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.example.administrator.myapplication.R;
import java.util.ArrayList;
import java.util.zip.Inflater;
/**
* Created by FansyMeng on 2016/11/6.
*
*/
//RecyclerView有着自己的ViewHolder,目的是强制我们使用ViewHolder
public class MyRecycleAdapter extends RecyclerView.Adapter<MyViewHolder> {
//2.创建构造方法
private Context context;
private ArrayList<String> data;
private Inflater inflater;

public MyRecycleAdapter(Context context, ArrayList<String> data) {
this.context = context;
this.data = data;
}
//3.创建ViewHoler
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(context).inflate(R.layout.lv_item,null);
MyViewHolder holder = new MyViewHolder(view);
return holder;
}

@Override
public int getItemCount() {
return data.size();
}
//4.这个用来设置我们的条目内容
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
holder.textView.setText(data.get(position));
}

}
//1.自己定义一个ViewHolder
class MyViewHolder extends RecyclerView.ViewHolder{
protected TextView textView;
public MyViewHolder(View itemView) {
super(itemView);
textView = (TextView) itemView.findViewById(R.id.tv_name);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android recyclerVi