リサイクラビューにイメージのリストがあります。バックグラウンドで使用されているイメージの名前を表示します。しかし、画像をクリックすると"[email protected]"がlog.Howに表示されます。私はスイッチのケースでこのイメージ名を使用して、いくつかのタスクを実行したいと思います。リサイクラビューで描画可能なイメージ名を取得する方法
メインActivity.java
public static String[] AddCustomitems = {"Blink single message", "Blink double message", "Message", "Scroll", "Split", "Temp"};
public static final Integer[] customviewsDrawable = {R.drawable.custom_blink, R.drawable.custom_blink_double, R.drawable.custom_message, R.drawable.custom_scroll, R.drawable.custom_split_double, R.drawable.temp};
public static final Integer defaultAdd =R.drawable.custom_add;
ArrayList<ItemModel> arrayList = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
arrayList.add(new ItemModel(defaultAdd));
for(int i =0;i<customviewsDrawable.length;i++){
ItemModel itemModel = new ItemModel();
arrayList.add(new ItemModel(customviewsDrawable[i]));
}
recyclerView = (RecyclerView) findViewById(R.id.recycler_view);
//Set RecyclerView type according to intent value
recyclerView.setLayoutManager(new LinearLayoutManager(MainActivity.this, LinearLayoutManager.HORIZONTAL, false));
adapter = new MyAdapter(MainActivity.this, arrayList);
recyclerView.setAdapter(adapter);// set adapter on recyclerview
adapter.notifyDataSetChanged();// Notify the adapter
}
MyAdapter.java
@Override
public void onBindViewHolder(final RecyclerViewHolder holder, final int position) {
final ItemModel model = arrayList.get(holder.getAdapterPosition());
final RecyclerViewHolder mainHolder = (RecyclerViewHolder) holder;// holder
Bitmap image = BitmapFactory.decodeResource(context.getResources(), model.getImage());// This will convert drawbale image into
// bitmap
mainHolder.imageview.setImageBitmap(Bitmap.createScaledBitmap(image, 330, 500, false));
mainHolder.imageview.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.v("Image name:", String.valueOf(mainHolder.imageview.getDrawable()));
}
});
setAnimation(holder.cardView, position);
}
** V /画像名:: com.example.parmarravi21.recylerviewtuto:ID /画像**まだ不足しているイメージ名 –
Iをチェックしますが、タグでのみ行うことができます。上記のコードを更新しました。 –
上記のコードでは、 "yourImageName"というタグを持つリストビュー内のすべての画像を設定します。私の質問は、recylcerViewに存在する画像の名前を一意に識別する方法です。どのように動くべきか[link](https://www.youtube.com/watch?v=XwzrLyNTTu8&feature=youtu.be) –