Autore Topic: ListView con righe personalizzate  (Letto 561 volte)

Offline prezzemolo86

  • Nuovo arrivato
  • *
  • Post: 36
  • Respect: +1
    • Mostra profilo
ListView con righe personalizzate
« il: 10 Maggio 2013, 17:51:38 CEST »
0
Salve,

Ho messo in allegato il layout che vorrei realizzare.

metto pure l'xml per le row

Codice (XML): [Seleziona]
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:background="@drawable/sfondo_cella_home"
   android:padding="1dip"
   >

   
    <View
       android:id="@+id/lato_sx"
       android:layout_width="110dip"
       android:layout_height = "100dip"
       android:background="@drawable/lato_sinistro_home"
       
       />
   
     <View
       android:id="@+id/Image"
       android:layout_width="wrap_content"
       android:layout_height="100dip"
       
       android:layout_toRightOf="@+id/lato_sx"
       android:background="@drawable/img_i" />
     

   
</RelativeLayout>


questo è quello di base per la row, la quale è composta dalla view a sinistra e dall'immagine a destra; quindi la View a sinstra la vorrei con queto layout:

Codice (XML): [Seleziona]
 <RelativeLayout
       xmlns:android="http://schemas.android.com/apk/res/android"
       android:layout_width="100dip"
       android:layout_height="100dip" >

        <View
           android:id="@+id/Icon"
           android:layout_width="25dip"
           android:layout_height="25dip"
           android:layout_centerVertical="true" />

        <View
           android:id="@+id/saparatore_Icon"
           android:layout_width="3dip"
           android:layout_height="45dip"
           android:layout_centerVertical="true"
           android:layout_toRightOf="@+id/Icon"
           android:background="@drawable/linea_verticale" />

        <TextView
           android:id="@+id/nome"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_centerVertical="true"
           android:layout_toRightOf="@+id/saparatore_Icon"
           android:text=""
           android:textColor="@color/blue"
           android:textSize="15sp" />

        <TextView
           android:id="@+id/testo"
           android:layout_width="60dp"
           android:layout_height="20dp"
           android:layout_alignParentBottom="true"
           android:layout_alignParentRight="true"
           android:text=""
           android:textColor="@color/light_grey"
           android:textSize="10sp" />
    </RelativeLayout>


Nel codice Java richiamo tutto nel getView dell'adapter, ma ho dei problemi:
  • l'altezza della row è sempre più grande del contenuto
  • la parte sinistra non compare

ecco il codice Java dove setto i layout


Codice (Java): [Seleziona]
public View getView(int position, View convertView, ViewGroup parent)
        {
                LayoutInflater inflater = (LayoutInflater) getContext()
                                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
               

                convertView = inflater.inflate(R.layout.row, null);
                //relative layout: View lato sx + View con immagine
               
                /********************lavoro sulla View del lato sx*******************************/
                //setto xml di layout
                LayoutInflater inflaterSX = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
               
                View latoSX = convertView.findViewById(R.id.lato_sx);
                latoSX = inflaterSX.inflate(R.layout.lato_sx, null);
               
               
                Resources res =  latoSX.getResources();
                View icona = latoSX.findViewById(R.id.Icon);



                TextView nome = (TextView)latoSX.findViewById(R.id.nome);
                TextView testo= (TextView)latoSX.findViewById(R.id.testo);

                ItemRow c = getItem(position);//il mio oggetto
               
               
                nome.setText(c.getNome());

                Drawable d = getDrawableFromName(c.getNome(), res);//il mio metodo per recuperare le iconcine
                if(d != null)
                        icona.setBackgroundDrawable(d);

               
                test.setText(c.getTesto());
                /************************************************************/
               
                return convertView;
        }

Offline prezzemolo86

  • Nuovo arrivato
  • *
  • Post: 36
  • Respect: +1
    • Mostra profilo
Re:ListView con righe personalizzate
« Risposta #1 il: 12 Maggio 2013, 21:19:04 CEST »
0
 :-( nessuno che sappia darmi una mano?  :'( :'( :'( :'( :'( :'( :'( :'( :'( :'( :'(