我有一組圖像以隨機方式顯示在回收站視圖中。問題是圖像重複,而不是所有的圖像都被使用。我需要的是:所有使用的圖像並只顯示一次(不重複)。預先感謝您的幫助。在回收站視圖中重複圖像
public class Article {
private int mTitle;
private static int[] sTitles = {
R.drawable.image1a,
R.drawable.image2a,
....
R.drawable.image30a
};
public Article() {
Random random = new Random();
// Collections.shuffle(Arrays.asList(sTitles)); //試圖用這一點,但沒有成功
mTitle = sTitles[random.nextInt(sTitles.length)];
}
public int getTitle() {
return mTitle;
}
編輯:我的適配器代碼
公共類MyAdapter擴展RecyclerView.Adapter {
private ArrayList<Article> mArticles = new ArrayList<>();
public RecyclerView mRecyclerView;
private class MyViewHolder extends RecyclerView.ViewHolder {
public ImageView mTitle;
public MyViewHolder(View pItem) {
super(pItem);
mTitle = (ImageView) pItem.findViewById(R.id.imageView);
}
}
public MyAdapter(ArrayList<Article> pArticles, RecyclerView pRecyclerView) {
mArticles = pArticles;
mRecyclerView = pRecyclerView;
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup viewGroup, final int i) {
View view = LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.article_layout, viewGroup, false);
return new MyViewHolder(view);
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, final int i) {
Article article = mArticles.get(i);
((MyViewHolder) viewHolder).mTitle.setImageResource(article.getTitle());
}
@Override
public int getItemCount() {
return mArticles.size();
}
你能提供你的代碼適配器嗎? – babadaba
在問題 – Pawel