
Originariamente inviato da
Azatoth
Personalmente non ho capito cosa tu voglia fare.
La differenza tra Activity e ListActivity è il mero fatto che Activity non ha nessun layout e ListActivity ha un layout che contiene una ListView, come puoi vedere da
qui.
Se il tuo setContentView va in crash... forse è perchè non è fatto bene

.
Puoi postare il tuo main.xml?
Ti ricordo che per usare un layout custom su una ListActivity ci sono delle 'regole' da rispettare:
comunque al link di prima trovi tutte le info per usare ListActivity.
Secondo me comunque è sempre meglio usare Activity e ti customizzi il layout come vuoi.
Per usare poi il ListAdapter non devi farlo direttamente dall'Activity, ma dall'oggetto ListView che l'Activity contiene.
Spero di averti aiutato
Certamente è un dettaglio che mi era sfuggito
, ma ciò non toglie che non cambia le cose per 2 motivi:
1 - va in crash con qualunque estensione di classe diversa da Activity, tant'è vero che ho provato a copiare l'xml identico copiato da un tutorial (qui) in un PreferenceActivity e ancora crasha.
2 - ora ho provato rispettando le specifiche, e... Nessun cambiamento. Quindi posso anche permettermi di non usare la ListActivity ma non so se sia possibile programmare decentemente senza poter estendere altro che l'Activity (magari che ha più esperienza dirà invece che è preferibile...?)...
In ogni caso ecco il codice:
AndroidManifest.xml (non modificato a mano):
codice:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.kpowered"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".provahello"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
classe java (modificata l'estensione da Activity a ListActivity):
codice:
package org.kpowered;
import android.app.ListActivity;
import android.os.Bundle;
public class provahello extends ListActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
main.xml (sostituito il tag LinearLayout con uno identico ListView con l'aggiunta dell'id '@+id/list')
codice:
<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/list" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
</ListView>
Ecco i miei dati
Non so che altro fare... Intanto ringrazio tutti per la collaborazione. Saluti