How Do Add Images Next To Text Items In Listview In Android?
I am trying to add an image next to each item in my ListView but without any success so far. There is a DB, from where I retrieve the text data, like this: Cursor categoriesCurso
Solution 1:
First make a data model :
publicclassdataModel {
String title;
int imageId;
publicdataModel(String title, int imageId) {
this.title = title;
this.imageId = imageId;
}
publicStringgetTitle() {
return title;
}
publicvoidsetTitle(String title) {
this.title = title;
}
public int getImageId() {
return imageId;
}
publicvoidsetImageId(int imageId) {
this.imageId = imageId;
}
}
then make a custom adapter :
publicclassadapterextendsBaseAdapter{
ArrayList<dataModel> allItems=newArrayList<>();
Context mContext;
publicadapter(Context ct, ArrayList<dataModel> allItems) {
this.allItems = allItems;
mContext=ct;
}
@OverridepublicintgetCount() {
return allItems.size();
}
@Overridepublic Object getItem(int position) {
return allItems.get(position);
}
@OverridepubliclonggetItemId(int position) {
return0;
}
@Overridepublic View getView(int position, View convertView, ViewGroup parent) {
// YOU SHOULD INFLATE A VIEW HERE
View mView=View.inflate(mContext,R.id.YOUR_VIEW_ID,null);
TextView mText= .... ;
ImageView mImage= ... ;
dataModel mModel=(dataModel) getItem(position);
mText.setText(mModel.getTitle());
mImage.setImageResource(mModel.getImageId());
return mView;
}
}
in your activity do this:
String[] displayCategories = new String[]{ CategoryDataSource.NAME};
int[] displayViews = newint[]{R.id.list_name};
// make an array list of dataModel Items
ArrayList<dataModel> data=new ArrayList<dataModel>();
for(int i=0;i<displayCategories.length;i++){
data.add(new dataModel(displayCategories[i],displayViews[i]));
}
setListAdapter(new adapter(this,data));
Post a Comment for "How Do Add Images Next To Text Items In Listview In Android?"