Android Studio RecyclerView用法

首先创建一个布局 里面放一个文本

 <TextView
        android:id="@+id/textView"
        android:layout_width="60dp"
        android:layout_height="20dp"
        android:text="TextView"
       />

在主活动中加入RecyclerView 

 <android.support.v7.widget.RecyclerView
        android:id="@+id/recyclerView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />

添加一个空的活动做适配器

package com.example.myapplication;

import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import java.util.List;

public class Main2Activity extends RecyclerView.Adapter<Main2Activity.ViewHolder> {

private List<String> list;

static class ViewHolder extends RecyclerView.ViewHolder
{
TextView name;
View Vie;
public ViewHolder(View v)
{
super(v);
Vie=v;
name=v.findViewById(R.id.textView);
}

}

public Main2Activity(List<String> lists)
{
list=lists;
}

@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view=LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.file,viewGroup,false) ;//加载要自定义的布局
final ViewHolder holder=new ViewHolder(view);
holder.Vie.setOnClickListener(new View.OnClickListener(){//注册单击事件
@Override
public void onClick(View v) {

String string= list.get( holder.getAdapterPosition());

Toast.makeText(v.getContext(), string, Toast.LENGTH_SHORT).show();
}
});
return holder;
}

@Override
public void onBindViewHolder(@NonNull ViewHolder viewHolder, int i) {
String f=list.get(i);//获取当前数值
viewHolder.name.setText(f);//赋值

}

@Override
public int getItemCount() {
return list.size();
}

}

初始化列表数据

 private  List<String> lit=new ArrayList<>();
    private  void  inte()
    {
        lit.add("3");
        lit.add("2");
        lit.add("3");
    }
       inte();
       RecyclerView recyclerView=findViewById(R.id.recyclerView);//获取控件值
        LinearLayoutManager layoutManager=new LinearLayoutManager(this);//线性布局
         recyclerView.setLayoutManager(layoutManager);
       Main2Activity ad=new Main2Activity(lit);
        recyclerView.setAdapter(ad);

猜你喜欢

转载自www.cnblogs.com/yuanzijian-ruiec/p/10229582.html
今日推荐