我正在尝试在我的OnItemClickListener适配器中设置一个RecycleView或类似的东西,以吐司我项目的名称。
我尝试了很多东西,但我从来没有用过适配器,这对我来说有点难解决所有的冲突试图使用互联网的例子,
有人能帮我实现吗?,谢谢,
这里是我的适配器
package com.example.anonymous.mh4;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.text.Html;
import android.text.TextUtils;
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 com.squareup.picasso.Picasso;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
/**
* Created by Anonymous on 22/02/2018.
*/
public class MyRecyclerViewAdapter extends RecyclerView.Adapter<MyRecyclerViewAdapter.CustomViewHolder> {
private List<Monster> feedItemList;
private Context mContext;
public MyRecyclerViewAdapter(Context context, List<Monster> feedItemList) {
this.feedItemList = feedItemList;
this.mContext = context;
}
@Override
public CustomViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.listviewitemmonster, null);
CustomViewHolder viewHolder = new CustomViewHolder(view);
return viewHolder;
}
@Override
public void onBindViewHolder(CustomViewHolder customViewHolder, int i) {
Monster feedItem = feedItemList.get(i);
//Render image using Picasso library
Picasso.with(mContext).load(feedItem.getIcon())
.error(R.drawable.unknown)
.placeholder(R.drawable.unknown)
.into(customViewHolder.imageView);
//Setting text view title
customViewHolder.textView.setText(Html.fromHtml(feedItem.getName()));
}
@Override
public void onAttachedToRecyclerView(RecyclerView recyclerView) {
super.onAttachedToRecyclerView(recyclerView);
}
@Override
public int getItemCount() {
return (null != feedItemList ? feedItemList.size() : 0);
}
class CustomViewHolder extends RecyclerView.ViewHolder {
protected ImageView imageView;
protected TextView textView;
public CustomViewHolder(View view) {
super(view);
this.imageView = (ImageView) view.findViewById(R.id.imglayout);
this.textView = (TextView) view.findViewById(R.id.namelayout);
view.setOnClickListener((View.OnClickListener) this);
}
}
}发布于 2018-02-24 16:44:57
要快速回答:
public CustomViewHolder(View view) {
super(view);
this.imageView = (ImageView) view.findViewById(R.id.imglayout);
this.textView = (TextView) view.findViewById(R.id.namelayout);
customViewHolder.textView.setOnClickListener(new OnClickListener(){
public void onClick(View view){
// Make your toast here, and for the text, use ((TextView) view).getText().toString()
}
})
}但是,我建议您查看一下ViewHolder中的要由onBindViewHolder调用的onBindViewHolder方法
https://stackoverflow.com/questions/48965092
复制相似问题