【发布时间】:2018-07-17 12:57:40
【问题描述】:
我有一个回收者视图,我想为所点击项目的 id 敬酒。相反,每次我敬酒时,我都会得到第一个项目,而不管我敬酒的项目是什么。
不管我烤奎宁还是布洛芬,它都会烤扑热息痛。
这是我的代码:
public class DrugsAdapter extends RecyclerView.Adapter<DrugsAdapter.ViewHolder> {
private List<DrugModel> drugList;
private Context mContext;
private RecyclerView mRecyclerV;
DrugModel drugModel;
public class ViewHolder extends RecyclerView.ViewHolder {
// each data item is just a string in this case
public TextView drugName,drugMode;
public View layout;
public ViewHolder(View v) {
super(v);
layout = v;
drugName = (TextView) v.findViewById(R.id.drugName);
drugMode = v.findViewById(R.id.drugModeOfAction);
drugName.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
}
}
public void add(int position, DrugModel drug) {
drugList.add(position, drug);
notifyItemInserted(position);
}
public void remove(int position) {
drugList.remove(position);
notifyItemRemoved(position);
}
// Provide a suitable constructor (depends on the kind of dataset)
public DrugsAdapter(List<DrugModel> myDataset, Context context, RecyclerView recyclerView) {
drugList = myDataset;
mContext = context;
mRecyclerV = recyclerView;
}
// Create new views (invoked by the layout manager)
@Override
public DrugsAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,int viewType) {
// drugModel = new DrugModel();
// drugModel = drugList.get(viewType);
// create a new view
LayoutInflater inflater = LayoutInflater.from(
parent.getContext());
View v =
inflater.inflate(R.layout.drug_item, parent, false);
// set the view's size, margins, paddings and layout parameters
ViewHolder vh = new ViewHolder(v);
v.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String a = drugModel.getDrugId();
Toast.makeText(mContext,"id "+a,Toast.LENGTH_LONG).show();
}
});
return vh;
}
// Replace the contents of a view (invoked by the layout manager)
@Override
public void onBindViewHolder(ViewHolder holder, final int position) {
final DrugModel drug = drugList.get(position);
holder.drugName.setText(drug.getdrugName());
holder.drugMode.setText(drug.getMode());
}
@Override
public int getItemCount() {
return drugList.size();
}
}
我打算将 toasted 参数项作为意图传递给下一个活动,但现在这是一个问题。
【问题讨论】:
标签: android android-recyclerview android-cardview toast