Kai*_*ang 5 android android-recyclerview
我有一个RecyclerView,它有一个Button和一个EditText.我在RecyclerView外面有一个Button.单击外部按钮,我希望RecyclerView中的Button在hide和show之间切换.怎么做?
我试图将一个布尔参数mEditFlag发送到recyclerAdapter,toogle mEditFlag,并通知适配器数据已更改.但它不起作用.
mCurrentOrderRecyclerAdapter = new CurrentOrderRecyclerAdapter(this, mEditFlag);
rvOrder.setAdapter(mCurrentOrderRecyclerAdapter);
rlEditOrderList.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mEditFlag = !mEditFlag;
mCurrentOrderRecyclerAdapter.notifyDataSetChanged();
if (mEditFlag) {
ivEditOrderList.setImageResource(R.drawable.order_edit_true);
tvEditOrderList.setText(R.string.order_edit_flag_true);
} else {
ivEditOrderList.setImageResource(R.drawable.order_edit_false);
tvEditOrderList.setText(R.string.order_edit_flag_false);
}
}
});
@Override
public void onBindViewHolder(OrderRecyclerViewHolder holder, final int position) {
if(editFlag) {
holder.rlLeftItemRvOrder.setVisibility(View.VISIBLE);
} else {
holder.rlLeftItemRvOrder.setVisibility(View.GONE);
}
holder.tvNumItemRvOrder.setText(position + "x");
holder.tvDesItemRvOrder.setText("holder.ivFoodItemRvOrder.setImageResource(R.drawable.drawer_menu)");
holder.ivFoodItemRvOrder.setImageResource(R.drawable.drawer_menu);
}
Run Code Online (Sandbox Code Playgroud)
您必须使用适配器层实现它.
的Button外侧的RecyclerView 具有更新内的项目的适配器(例如一个布尔).
然后通知更改更新(例如使用notifyItemChanged方法)RecyclerView
Somenthing喜欢:
rlEditOrderList.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Update the item inside the adapter
MyObject obj = mAdapter.getItem(position);
obj.myBoolean= true;
mAdapter.notifyItemChanged(position);
}
});
Run Code Online (Sandbox Code Playgroud)
使用适配器,如:
public class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private ArrayList<MyObject> mDataset;
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
//Get the item in the adapter
MyObject obj = getItem(position);
if(obj.myBoolean)
holder.mButtonView.setVisibile(View.VISIBLE);
else
holder.mButtonView.setVisibile(View.GONE);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4850 次 |
| 最近记录: |