I’m doing and android app and I just doing a listView and I want that my rowview have a ImageView on left, NAme on central row and 5 image in right, but my problem is that images 2,3,4,5 are not fixed image and depends of the rows that appears or not, but for me it never views images 2,3,4,5, only 1 (sorry, numbers 1,2,3,4,5 are icons).
I want this, and for this numbers 2,3,4,5 are optionals views.

this is my row.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content" android:id="@+id/row_def"
android:orientation="horizontal" android:layout_width="fill_parent">
<ImageView
android:id="@+id/profile_picture"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:layout_marginRight="6dip" />
<TextView
android:id="@+id/Nombre_Amigo"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/profile_picture"
android:gravity="center_vertical" />
<ImageView
android:id="@+id/proveedor_icon"
android:layout_width="16dip"
android:layout_height="16dip"
android:layout_marginRight="6dip"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
/>
<ImageView
android:id="@+id/proveedor_icon2"
android:layout_width="16dip"
android:layout_height="16dip"
android:layout_above="@+id/proveedor_icon"
android:layout_marginRight="6dip"
android:layout_alignParentRight="true" />
<ImageView
android:id="@+id/proveedor_icon3"
android:layout_width="16dip"
android:layout_height="16dip"
android:layout_toLeftOf="@+id/proveedor_icon"
android:layout_alignParentBottom="true"
android:layout_marginRight="3dip"/>
<ImageView
android:id="@+id/proveedor_icon4"
android:layout_width="16dip"
android:layout_height="16dip"
android:layout_marginRight="3dip"
android:layout_toLeftOf="@+id/proveedor_icon2"
android:layout_above="@+id/proveedor_icon3"
/>
<ImageView
android:id="@+id/proveedor_icon5"
android:layout_width="16dip"
android:layout_height="16dip"
android:layout_marginRight="3dip"
android:layout_alignParentBottom="true"
android:layout_toLeftOf="@+id/proveedor_icon4" />
</RelativeLayout>
and this is my adapter:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View rowView = convertView;
if (convertView == null ){//&& !myList.get(position).getIdTeneaPhoneAmigo().equals("NO")) {
LayoutInflater inflater = LayoutInflater.from(context);//context.getLayoutInflater();
rowView = inflater.inflate(R.layout.row_def, null);
ViewHolder viewHolder = new ViewHolder();
viewHolder.text = (TextView) rowView.findViewById(R.id.Nombre_Amigo);
viewHolder.image = (ImageView) rowView.findViewById(R.id.profile_picture);
viewHolder.image.setAdjustViewBounds(true);
viewHolder.image.setMaxHeight(48);
viewHolder.image.setMaxWidth(48);
viewHolder.icon_proveedor = (ImageView) rowView.findViewById(R.id.proveedor_icon);
viewHolder.icon_proveedor2 = (ImageView) rowView.findViewById(R.id.proveedor_icon2);
viewHolder.icon_proveedor3 = (ImageView) rowView.findViewById(R.id.proveedor_icon3);
viewHolder.icon_proveedor4 = (ImageView) rowView.findViewById(R.id.proveedor_icon4);
viewHolder.icon_proveedor5 = (ImageView) rowView.findViewById(R.id.proveedor_icon5);
rowView.setTag(viewHolder);
}
Log.d("MyPerformanceArrayAdapter","getView, fora del if (convertView == null)");
ViewHolder holder = (ViewHolder) rowView.getTag();
Bitmap bitmap = myList.get(position).getPicSquare();
Log.d("MyPerformanceArrayAdapter","Bitmap: "+bitmap);
holder.image.setImageBitmap(bitmap);
String nombre = myList.get(position).getNombreAmigo();
holder.text.setText(nombre);
Log.d("MyPerformanceArrayAdapter","name: "+nombre);
int idRow = myList.get(position).getIdRowAmigo();
int prov = myList.get(position).getIDRedsocial();
if (prov == 0){
holder.icon_proveedor.setImageResource(R.drawable.facebook_icon);
}
if (prov == 1){
holder.icon_proveedor.setImageResource(R.drawable.agenda);
}
if(prov == 2){
holder.icon_proveedor.setImageResource(R.drawable.linkedin_icon);
}
if(prov == 3){
holder.icon_proveedor.setImageResource(R.drawable.twitter_icon);
}
if (prov == 4){
holder.icon_proveedor.setImageResource(R.drawable.google_icon);
}
//////FUSION
/////// FUSION DE SOLO 2 CONTACTOS
if (prov == 5){
Log.d("Adapter"," Fusion idRow: "+idRow);
db = new DatabaseHandler(context);
database = db.getReadableDatabase();
List<Integer> lista_prov = new ArrayList<Integer>();
lista_prov = db.ObetenrProveedorSocial(idRow);
Log.d("Adapter"," lista_prov: "+lista_prov);
int i=0;
for(int proveedor : lista_prov){
if(i==0){
if (proveedor == 0){
holder.icon_proveedor.setImageResource(R.drawable.facebook_icon);
}
if (proveedor == 1){
holder.icon_proveedor.setImageResource(R.drawable.agenda);
}
if(proveedor == 2){
holder.icon_proveedor.setImageResource(R.drawable.linkedin_icon);
}
if(proveedor == 3){
holder.icon_proveedor.setImageResource(R.drawable.twitter_icon);
}
if (proveedor == 4){
holder.icon_proveedor.setImageResource(R.drawable.google_icon);
}
Log.d("ADAPTER","i: "+i);
Log.d("ADAPTER","proveedor: "+proveedor);
}
if(i==1){
if (proveedor == 0){
holder.icon_proveedor2.setImageResource(R.drawable.facebook_icon);
}
if (proveedor == 1){
holder.icon_proveedor2.setImageResource(R.drawable.agenda);
}
if(proveedor == 2){
holder.icon_proveedor2.setImageResource(R.drawable.linkedin_icon);
}
if(proveedor == 3){
holder.icon_proveedor2.setImageResource(R.drawable.twitter_icon);
}
if (proveedor == 4){
holder.icon_proveedor2.setImageResource(R.drawable.google_icon);
}
Log.d("ADAPTER","i: "+i);
Log.d("ADAPTER","proveedor: "+proveedor);
}
i++;
Log.d("ADAPTER FINAL","i: "+i);
}
}
/////// FUSION DE SOLO 3 CONTACTOS
if (prov == 6){
List<Integer> lista_prov = db.ObetenrProveedorSocial(idRow);
int i=0;
for(int proveedor : lista_prov){
if(i==0){
if (proveedor == 0){
holder.icon_proveedor.setImageResource(R.drawable.facebook_icon);
}
if (proveedor == 1){
holder.icon_proveedor.setImageResource(R.drawable.agenda);
}
if(proveedor == 2){
holder.icon_proveedor.setImageResource(R.drawable.linkedin_icon);
}
if(proveedor == 3){
holder.icon_proveedor.setImageResource(R.drawable.twitter_icon);
}
if (proveedor == 4){
holder.icon_proveedor.setImageResource(R.drawable.google_icon);
}
}
if(i==1){
if (proveedor == 0){
holder.icon_proveedor2.setImageResource(R.drawable.facebook_icon);
}
if (proveedor == 1){
holder.icon_proveedor2.setImageResource(R.drawable.agenda);
}
if(proveedor == 2){
holder.icon_proveedor2.setImageResource(R.drawable.linkedin_icon);
}
if(proveedor == 3){
holder.icon_proveedor2.setImageResource(R.drawable.twitter_icon);
}
if (proveedor == 4){
holder.icon_proveedor2.setImageResource(R.drawable.google_icon);
}
}
if(i==2){
if (proveedor == 0){
holder.icon_proveedor3.setImageResource(R.drawable.facebook_icon);
}
if (proveedor == 1){
holder.icon_proveedor3.setImageResource(R.drawable.agenda);
}
if(proveedor == 2){
holder.icon_proveedor3.setImageResource(R.drawable.linkedin_icon);
}
if(proveedor == 3){
holder.icon_proveedor3.setImageResource(R.drawable.twitter_icon);
}
if (proveedor == 4){
holder.icon_proveedor3.setImageResource(R.drawable.google_icon);
}
}
i++;
}
}
/////// FUSION DE SOLO 4 CONTACTOS
if (prov == 7){
List<Integer> lista_prov = db.ObetenrProveedorSocial(idRow);
int i=0;
for(int proveedor : lista_prov){
if(i==0){
if (proveedor == 0){
holder.icon_proveedor.setImageResource(R.drawable.facebook_icon);
}
if (proveedor == 1){
holder.icon_proveedor.setImageResource(R.drawable.agenda);
}
if(proveedor == 2){
holder.icon_proveedor.setImageResource(R.drawable.linkedin_icon);
}
if(proveedor == 3){
holder.icon_proveedor.setImageResource(R.drawable.twitter_icon);
}
if (proveedor == 4){
holder.icon_proveedor.setImageResource(R.drawable.google_icon);
}
}
if(i==1){
if (proveedor == 0){
holder.icon_proveedor2.setImageResource(R.drawable.facebook_icon);
}
if (proveedor == 1){
holder.icon_proveedor2.setImageResource(R.drawable.agenda);
}
if(proveedor == 2){
holder.icon_proveedor2.setImageResource(R.drawable.linkedin_icon);
}
if(proveedor == 3){
holder.icon_proveedor2.setImageResource(R.drawable.twitter_icon);
}
if (proveedor == 4){
holder.icon_proveedor2.setImageResource(R.drawable.google_icon);
}
}
if(i==2){
if (proveedor == 0){
holder.icon_proveedor3.setImageResource(R.drawable.facebook_icon);
}
if (proveedor == 1){
holder.icon_proveedor3.setImageResource(R.drawable.agenda);
}
if(proveedor == 2){
holder.icon_proveedor3.setImageResource(R.drawable.linkedin_icon);
}
if(proveedor == 3){
holder.icon_proveedor3.setImageResource(R.drawable.twitter_icon);
}
if (proveedor == 4){
holder.icon_proveedor3.setImageResource(R.drawable.google_icon);
}
}
if(i==3){
if (proveedor == 0){
holder.icon_proveedor4.setImageResource(R.drawable.facebook_icon);
}
if (proveedor == 1){
holder.icon_proveedor4.setImageResource(R.drawable.agenda);
}
if(proveedor == 2){
holder.icon_proveedor4.setImageResource(R.drawable.linkedin_icon);
}
if(proveedor == 3){
holder.icon_proveedor4.setImageResource(R.drawable.twitter_icon);
}
if (proveedor == 4){
holder.icon_proveedor4.setImageResource(R.drawable.google_icon);
}
}
i++;
}
}
/////// FUSION DE SOLO 5 CONTACTOS
if (prov == 8){
List<Integer> lista_prov = db.ObetenrProveedorSocial(idRow);
int i=0;
for(int proveedor : lista_prov){
if(i==0){
if (proveedor == 0){
holder.icon_proveedor.setImageResource(R.drawable.facebook_icon);
}
if (proveedor == 1){
holder.icon_proveedor.setImageResource(R.drawable.agenda);
}
if(proveedor == 2){
holder.icon_proveedor.setImageResource(R.drawable.linkedin_icon);
}
if(proveedor == 3){
holder.icon_proveedor.setImageResource(R.drawable.twitter_icon);
}
if (proveedor == 4){
holder.icon_proveedor.setImageResource(R.drawable.google_icon);
}
}
if(i==1){
if (proveedor == 0){
holder.icon_proveedor2.setImageResource(R.drawable.facebook_icon);
}
if (proveedor == 1){
holder.icon_proveedor2.setImageResource(R.drawable.agenda);
}
if(proveedor == 2){
holder.icon_proveedor2.setImageResource(R.drawable.linkedin_icon);
}
if(proveedor == 3){
holder.icon_proveedor2.setImageResource(R.drawable.twitter_icon);
}
if (proveedor == 4){
holder.icon_proveedor2.setImageResource(R.drawable.google_icon);
}
}
if(i==2){
if (proveedor == 0){
holder.icon_proveedor3.setImageResource(R.drawable.facebook_icon);
}
if (proveedor == 1){
holder.icon_proveedor3.setImageResource(R.drawable.agenda);
}
if(proveedor == 2){
holder.icon_proveedor3.setImageResource(R.drawable.linkedin_icon);
}
if(proveedor == 3){
holder.icon_proveedor3.setImageResource(R.drawable.twitter_icon);
}
if (proveedor == 4){
holder.icon_proveedor3.setImageResource(R.drawable.google_icon);
}
}
if(i==3){
if (proveedor == 0){
holder.icon_proveedor4.setImageResource(R.drawable.facebook_icon);
}
if (proveedor == 1){
holder.icon_proveedor4.setImageResource(R.drawable.agenda);
}
if(proveedor == 2){
holder.icon_proveedor4.setImageResource(R.drawable.linkedin_icon);
}
if(proveedor == 3){
holder.icon_proveedor4.setImageResource(R.drawable.twitter_icon);
}
if (proveedor == 4){
holder.icon_proveedor4.setImageResource(R.drawable.google_icon);
}
}
if(i==4){
if (proveedor == 0){
holder.icon_proveedor5.setImageResource(R.drawable.facebook_icon);
}
if (proveedor == 1){
holder.icon_proveedor5.setImageResource(R.drawable.agenda);
}
if(proveedor == 2){
holder.icon_proveedor5.setImageResource(R.drawable.linkedin_icon);
}
if(proveedor == 3){
holder.icon_proveedor5.setImageResource(R.drawable.twitter_icon);
}
if (proveedor == 4){
holder.icon_proveedor5.setImageResource(R.drawable.google_icon);
}
}
i++;
}
}
rowView.setTag(holder);
return rowView;
}
but it doesn’t work and I don’t know why. In some cases It should show more than numbre 1 but it only show number 1. why??
can someone help me? thank you!!
I’ve got the solution of my problem! my adapter it was ok, the problem is was on the row_def.xml, because it was not correct params of the items, but now I got it!
this is the correct way:
thanks 😀