Autore Topic: Problema con ListView  (Letto 611 volte)

Offline Nemus

  • Nuovo arrivato
  • *
  • Post: 39
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S i9000
  • Sistema operativo:
    Windows Seven x64
Problema con ListView
« il: 24 Marzo 2011, 17:13:32 CET »
0
Salve a tutti,

Creo un arrayAdapter utilizzando come layout il file listitem.xml:
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.
        android.com/apk/res/android"

        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="5pt"
                android:textSize="10pt"
                android:id="@+id/listItemTextView" />
</LinearLayout>
Codice (Java): [Seleziona]
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, R.layout.listitem,
                                        R.id.listItemTextView);

Creo la listView nel main.xml
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
   android:orientation="vertical"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   >
        <ListView
                android:id="@+id/listView"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content" />
</LinearLayout>
e le assegno l'adapter precedentemente popolato.
Codice (Java): [Seleziona]
ListView listView = (ListView) findViewById(R.id.listView);
                                listView.setAdapter(arrayAdapter);
L'istruzione setAdapter crea un errore di runtime. Ecco il logcat:

03-24 16:59:47.172: ERROR/AndroidRuntime(10498): FATAL EXCEPTION: main
03-24 16:59:47.172: ERROR/AndroidRuntime(10498): java.lang.RuntimeException: Binary XML file line #2: You must supply a layout_width attribute.
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at android.content.res.TypedArray.getLayoutDimension(TypedArray.java:491)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at android.view.ViewGroup$LayoutParams.setBaseAttributes(ViewGroup.java:3592)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at android.view.ViewGroup$LayoutParams.<init>(ViewGroup.java:3545)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at android.widget.AbsListView$LayoutParams.<init>(AbsListView.java:4247)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at android.widget.AbsListView.generateLayoutParams(AbsListView.java:4048)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at android.widget.AbsListView.generateLayoutParams(AbsListView.java:105)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at android.view.LayoutInflater.inflate(LayoutInflater.java:395)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:332)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at android.widget.ArrayAdapter.getView(ArrayAdapter.java:323)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at android.widget.AbsListView.obtainView(AbsListView.java:1427)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at android.widget.ListView.measureHeightOfChildren(ListView.java:1273)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at android.widget.ListView.onMeasure(ListView.java:1184)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at android.view.View.measure(View.java:8226)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:381)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:304)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at android.view.View.measure(View.java:8226)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at android.view.View.measure(View.java:8226)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:526)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:304)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at android.view.View.measure(View.java:8226)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at android.view.View.measure(View.java:8226)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at android.view.ViewRoot.performTraversals(ViewRoot.java:801)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at android.view.ViewRoot.handleMessage(ViewRoot.java:1727)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at android.os.Handler.dispatchMessage(Handler.java:99)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at android.os.Looper.loop(Looper.java:123)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at android.app.ActivityThread.main(ActivityThread.java:4627)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at java.lang.reflect.Method.invokeNative(Native Method)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at java.lang.reflect.Method.invoke(Method.java:521)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
03-24 16:59:47.172: ERROR/AndroidRuntime(10498):     at dalvik.system.NativeStart.main(Native Method)

Da quello che ho capito ha un problema con main.xml. Tuttavia gli attributi sembrano apposto. Idee?
« Ultima modifica: 24 Marzo 2011, 17:20:46 CET da Nemus »

Offline IacopoDeeNosee

  • Utente junior
  • **
  • Post: 128
  • Respect: +33
    • Google+
    • iacopodeenosee
    • Mostra profilo
    • visualhunter
  • Dispositivo Android:
    Samsung Nexus S - GT-I9023
  • Play Store ID:
    IacopoDeeNosee
  • Sistema operativo:
    Arch linux x86_64
Re:Problema con ListView
« Risposta #1 il: 24 Marzo 2011, 23:34:42 CET »
+1
forse l'errore sta nel fatto che hai troncato il namespaces nel layout dell'item per la listview:
Codice: [Seleziona]
...
<LinearLayout xmlns:android="http://schemas.
        android.com/apk/res/android"
...
prova così:
Codice: [Seleziona]
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"8y3

Offline Nemus

  • Nuovo arrivato
  • *
  • Post: 39
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S i9000
  • Sistema operativo:
    Windows Seven x64
Re:Problema con ListView
« Risposta #2 il: 25 Marzo 2011, 12:07:32 CET »
0
Grazie, era proprio quello.