Frage

Ich versuche, meine Hauptaktivität auf "ListActivity" zu erweitern (zuvor erstreckt sich auf: Aktivität), um onlistItemclick zu verwenden, aber der logcat sende mir "Ihr Inhalt muss eine ListView haben, deren ID-Attribut" android.r.id.List "ist '". (Ich verwende SQLite für die Population der ListView).

mi xml ist:

<ListView
    android:id="@+id/list" // to "@id/android:list" or other styles (but nothing works)
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"/> // or closing with </ListView>

Dies ist der vollständige XML für die ListView:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ListView
    android:id="@+id/list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" /></LinearLayout>

Meine Hauptklasse, um die ListView zu verarbeiten:

public class lay_main extends ListActivity{
public ListView list;
private DBHelper myAdap;


/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.lay_main);

    collectXML();
    setupDataBase();
    setupAdapter();

}      
private void collectXML() 
{
    list = (ListView)findViewById(R.id.list);
}

private void setupDataBase() {
    myAdap = new DBHelper(getApplicationContext(), "courses", null, 1);
    myAdap.insertCourses();

}

private void setupAdapter()
{
if(myAdap.getCourses()!=null)
    {
    cAdapter adapter = new  cAdapter(this, R.layout.list_courses, myAdap.getCourses());
    list.setAdapter(adapter);
    }

}}

ich lese Android: Ihr Inhalt muss eine ListView haben, deren ID -Attribut Android.r.id.List lautet, oder: RunTimeException: Ihr Inhalt muss eine ListView haben, deren ID -Attribut "android.r.id.List" lautet, und andere Fragen, aber funktioniert nicht für mich, was ist hier los?

Ich würde Ihre Hilfe wirklich schätzen

War es hilfreich?

Lösung

Wenn Sie sich ausdehnen möchten ListActivity du solltest benutzen

android:id="@android:id/list"

Und du wirst deine bekommen ListView wie

ListView listview = this.getListView();

oder

ListView listview = (ListView)findViewById(android.R.id.list);
//consider android.R prefix

Hier ist die detaillierte Erklärung: Wie kann ich GetListView () in Aktivität verwenden?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top