I am using a list view as follows
String[] Shows = new String[] { "Dexter", "Breaking Bad", "The Big Bang Theory", "Leverage"};
ListView tv_show_list = (ListView) view_tvshowAddNew.findViewById(R.id.lv_tv_show_list);
ArrayAdapter<String> showNameAdapter = new ArrayAdapter<String>(getActivity(), R.layout.tv_show_each_show_name, Shows);
tv_show_list.setAdapter(showNameAdapter);
Now my tv_show_each_show_name XML is like below
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="58dp"
android:background="@drawable/ic_launcher"
>
</TextView>
What I want to do now is make each show name associated with a picture and maybe put that in a map, like :-
Map mMap = new HashMap();
mMap.put("Dexter", "imageDexter.png");
mMap.put("Breaking Bad", "imageDexter.png");
and while loading the list view i will show the name from this map and set the associated image background taking the image name from this map and loading it from the drawable folder.
How to do this?
Hopping like a layout as follows
Here is a tutorial for your custom Listview
Now for setting different images with respect to each item ,inside your getView() method of adapter
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.rowlayout, parent, false);
TextView textView = (TextView) rowView.findViewById(R.id.label);
ImageView imageView = (ImageView) rowView.findViewById(R.id.icon);
textView.setText(values[position]);
// Change the icon for Windows and iPhone
String s = values[position];
imageView.setImageResource(images[position]);
return rowView;
}
Where your image array will be like this
int[] images={R.drawable.green_button,R.drawable.ic_launcher,R.drawable.shape,R.drawable.splash};
Also make sure your the length of your 'images' array must be same as your items in list.
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments