在下面的代碼中,我可以通過點擊imgBtn來刪除圖像,但我的圖像不會滾動刪除的圖像位置,它只是保持其當前位置,它不會更新。RecyclerView項目位置沒有得到更新
主要活動類
ItemData itemsData[] = {new ItemData("Help", R.drawable.image),
new ItemData("Delete", R.drawable.orange),
new ItemData("Cloud", R.drawable.image),
new ItemData("Favorite", R.drawable.orange),
new ItemData("Like", R.drawable.image),
new ItemData("Rating", R.drawable.orange)};
RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recyclerView);
recyclerView.setHasFixedSize(true);
LinearLayoutManager llm = new LinearLayoutManager(this);
llm.setOrientation(LinearLayoutManager.HORIZONTAL);
recyclerView.setLayoutManager(llm);
CustomAdapter mAdapter = new CustomAdapter(itemsData);
recyclerView.setAdapter(mAdapter);
的ItemData類
public class ItemData {
private String title;
private int imageUrl;
public ItemData(String title,int imageUrl){
this.title = title;
this.imageUrl = imageUrl;
}
String getTitle(){return title;}
void setTitle(String t){title = t;}
int getImageUrl(){return imageUrl;}
void setImageUrl(int t){imageUrl = t;}
}
定義適配器類
public class CustomAdapter extends RecyclerView.Adapter<CustomAdapter.ViewHolder>
{
private ItemData[] itemsData;
private Context context;
private CustomAdapter thisAdapter = this;
public CustomAdapter(ItemData[] itemsData) {
this.itemsData = itemsData;
}
@Override
public void onBindViewHolder(ViewHolder viewHolder, int pos) {
final int position = pos;
viewHolder.imgViewIcon.setImageResource(itemsData[position].getImageUrl());
viewHolder.imgBtn.setImageResource(R.drawable.ic_close_black_24dp);
viewHolder.imgBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
((FrameLayout) v.getParent()).removeAllViews();
}
});
}
}
你想從該位置 –
刪除圖像我可以能夠從該位置選擇的圖像'((FrameLayout)v.getParent())。removeAllViews();',但其他圖像位置不會更新。刪除的圖像位置保持空白,無圖像。 – casillas