adapter
package com.example.lineardemorecyclerview.adapter;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.example.lineardemorecyclerview.R;
import java.util.ArrayList;
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> implements View. Listener{
private ArrayList<String> mList;
public MyAdapter(ArrayList<String> mList) {
this.mList = mList;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view=View.inflate(viewGroup.getContext(),R.layout.recy_item,null);
ViewHolder holder=new ViewHolder(view);
view.set Listener(this);
return holder;
}
@Override
public void onBindViewHolder(@NonNull ViewHolder viewHolder, int i) {
viewHolder.mName.setText(mList.get(i));
viewHolder.itemView.setTag(i);
}
@Override
public int getItemCount() {
return mList.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
private TextView mName;
public ViewHolder(@NonNull View itemView) {
super(itemView);
mName=itemView.findViewById(R.id.recy_name);
}
}
public interface ItemClick{
void setOnItemClick(View view,int i);
}
private ItemClick mItemClick;
public void set Listener(ItemClick itemClick){
this.mItemClick=itemClick;
}
@Override
public void (View v) {
if(mItemClick!=null){
mItemClick.setOnItemClick(v, (Integer) v.getTag());
}
}
}
package com.example.lineardemorecyclerview;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.DividerItemDecoration;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.Toast;
import com.example.lineardemorecyclerview.adapter.MyAdapter;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
private RecyclerView Recy;
private ArrayList<String> mList=new ArrayList<>();
private MyAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
adapter = new MyAdapter(mList);
Recy.setAdapter(adapter);
initData();
adapter.set Listener(new MyAdapter.ItemClick() {
@Override
public void setOnItemClick(View view, int i) {
Toast.makeText(MainActivity.this,mList.get(i),Toast.LENGTH_SHORT).show();
}
});
}
private void initData(){
for (int i = 0; i <20; i++) {
mList.add(\"你真丑\"+i);
}
adapter.notifyDataSetChanged();
}
private void initView() {
Recy = (RecyclerView) findViewById(R.id.Recy);
GridLayoutManager layoutManager=new GridLayoutManager(this,3);
Recy.setLayoutManager(layoutManager);
}
}
继续阅读与本文标签相同的文章
上一篇 :
科技的七年之痒,七年后这些东西将会消失!
下一篇 :
ACM训练日志27-线段树创建和查询
-
汇编(四)字的存储、DS和[address]、字的传送、mov、add、sub指令、数据段
2026-05-19栏目: 教程
-
elasticsearch之索引管理API(Index management)
2026-05-19栏目: 教程
-
简单介绍几种Java后台开发常用框架组合
2026-05-19栏目: 教程
-
<丰田发布了LQ EV概念车>。丰田全新的概念车配备了AI代理和自动驾驶功能,这是丰田美国公司研究员开发的,首次的公开亮相将在本月23日。在2017年CES消费车展上丰田曾展示了 Concept-Ai i概念车
2026-05-19栏目: 教程
-
Sysweld笔记:利用稳态算法加速算法模拟焊接过程的残余应力
2026-05-19栏目: 教程
