Autore Topic: Aiuto Sul perfezionamento di una list  (Letto 660 volte)

Offline ilmandorlone

  • Nuovo arrivato
  • *
  • Post: 18
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    huawei ideos
  • Sistema operativo:
    Mac Os X 10.6.8
Aiuto Sul perfezionamento di una list
« il: 02 Agosto 2012, 22:51:33 CEST »
0
sono finalmente riuscito a fare una listview
il codice che uso:
src:
Codice (Java): [Seleziona]
package com.Elfo.mandorlone;

import android.app.Activity;

import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class ElfoConnectionActivity extends Activity {
    /** Called when the activity is first created. */

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        ListView Listimg = (ListView) findViewById(R.id.listView1);
        String[] ArrayZone = {"immagine 1", "immagine 2", "immagine 3"};
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.rigagenerale, ArrayZone);    
        Listimg.setAdapter(adapter);
    }
}
main.xml
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/mainLayout"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="vertical" >

    <ListView
       android:id="@+id/listView1"
       android:layout_width="match_parent"
       android:layout_height="wrap_content" >
    </ListView>

</LinearLayout>
rigagenerale.xml
Codice (XML): [Seleziona]
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:padding="10dp"
        android:textStyle="bold"
        android:textSize="25sp">
   
</TextView>


dovrei aggiungere 3 immagini diverse sulle 3 righe, ho provato ad aggiungerlo sul file rigagenerale ma mi dava errore.
poi sempre da codice sul programma ci saranno più righe dove ognuna a fianco avrà una delle 3 immagini come posso fare?

Offline rs94

  • Utente normale
  • ***
  • Post: 227
  • Respect: +21
    • Mostra profilo
  • Dispositivo Android:
    Sony Ericsson Xperia Arc S
  • Sistema operativo:
    Windows 8
Re:Aiuto Sul perfezionamento di una list
« Risposta #1 il: 03 Agosto 2012, 14:45:37 CEST »
0
Ti serve un adapter personalizzato. Tu adesso usi un array adapter di oggetti string.
Devi crearti il tuo adapter che estende arrayadapter e fare l'override del metodo getView().

Nello specifico segui questo: http://www.anddev.it/index.php/topic,432.0.html
L'unica certezza è il dubbio.
Dubitare di se stessi è il primo segno di intelligenza.

Offline DevG

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
Re:Aiuto Sul perfezionamento di una list
« Risposta #2 il: 03 Agosto 2012, 14:52:25 CEST »
0
ti consiglio di crearti un arrayAdapter personalizzato che estenda ArrayAdapter e vai a sovrascrivere il metodo getView() personalizzando l'aspetto della listView.

Nell' onCreat() di ElfoConnectionActivity ti istanzi l'oggetto MyArrayAdapter:

Codice (Java): [Seleziona]
ArrayAdapter<String> adapter = new MyArrayAdapter(tuocontext, ArrayZone);
listView.setAdapter(adapter);

La classe MyArrayAdapter deve estendere ArrayAdapter (extends ArrayAdapter<String>)

Codice (Java): [Seleziona]
public InteractiveArrayAdapterAudioVideo(Activity context, ArrayList<String> list) {
                super(context, R.layout.rigagenerale, list);
                this.context = context;
                this.list = list;
        }

        static class ViewHolder {
                protected TextView text;
                protected ImageView icon;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
                View view = null;
                if (convertView == null) {
                        LayoutInflater inflator = context.getLayoutInflater();
                        view = inflator.inflate(R.layout.rigagenerale, null);
                        final ViewHolder viewHolder = new ViewHolder();
                        viewHolder.text = (TextView) view.findViewById(R.id.label);
                        viewHolder.icon = (ImageView) view.findViewById(R.id.icon);
                       
                        view.setTag(viewHolder);
                       
                } else {
                        view = convertView;

                }
                ViewHolder holder = (ViewHolder) view.getTag();
                holder.text.setText(list.get(position));
                holder.icon.setBackgroundResource(R.drawable.immagine);
               
                return view;
        }

Mentre nel file rigagenerale.xml

Codice (XML): [Seleziona]
<LinearLAyout  xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation:"horizontal"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content" >

  <ImageView android:id="@+id/icon
  android:layout_width="wrap_content"
 android:layout_height="wrap_content">

  </ImageView>

  <TextView android:id="@+id/text"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:padding="10dp"
       android:textStyle="bold"
       android:textSize="25sp">
   
</TextView>
</LinearLayout>

Questo è un esempio.... puoi personalizzare questo codice in base alle tue esigenze.
Spero di esserti stato di aiuto.