Beginner: ListView Intent ausführen!

L

Luser_k

Neues Mitglied
2
Hi,

ich benötige Hilfe, bin ein Beginner.

Ich habe mittels ListActivity eine Liste erstellt.

Wenn ich einen Eintrag auswähle, dann soll durch ein Intent
eine neue Activity gestartet werden.

Fehlermeldung: Die Anwendung wird geschlossen.

Wo ist der Fehler? Ich sehe keine Fehler :)

listActivity: Start-Activity

Code:
package de.listing.app;

import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListAdapter;
import android.widget.ListView;

public class listActivity extends ListActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setTitle(R.string.app_name);
        getListView().setTextFilterEnabled(true);
        showData();        
    }
    private void showData(){
        
        String[] months = new String[]{"january","february","march","april","may","june","july","august","september","october","november","december"};
        
        ListAdapter monthAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,months);
        setListAdapter(monthAdapter);
    }
    protected void onListItemClick(ListView liste,View view,int position,long id){
        super.onListItemClick(liste, view, position, id);
        
        Intent intent = new Intent();
        intent.setClass(listActivity.this,
        showChoice.class);
        startActivity(intent);
        finish();
    }
}
showChoice: Activity, das nach der Auswahl angezeigt werden soll

Code:
package de.listing.app;

import android.app.Activity;
import android.os.Bundle;

public class showChoice extends Activity{
    
public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

}
}


main.xml
Code:
<?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"
    >
    
</LinearLayout>
 
Erstmal ein allgemeiner Tipp: Wenn du die App im Emulator (oder auf dem Gerät im Debug-Mode) ausführst, findet sich der Fehler-Stacktrace im "LogCat"-Fenster. Wenn's nicht angezeigt wird: Window - Show View - Other - Android - LogCat.
Und dann würde ich mal versuchen, der ListActivity auch ihr Layout mitzuteilen, also setContentView(...) in onCreate(...).

(Ach ja, und üblicherweise schreibt man Klassennamen in Java mit einem Großbuchstaben am Anfang. Aber das ist natürlich kein Muss...)
 
Hi,

danke für Deine Hilfe. Das mit der LogCat wußte ich überhaupt nicht.

Und schon den Fehler gefunden und funktioniert.

Musste in der Manifest-Datei die 2.Activity registrieren.

Danke für die schnelle Antwort.
 
Luser_k schrieb:
Das mit der LogCat wußte ich überhaupt nicht.
Mich hat daran am meisten verwirrt, dass auch "ungefangene" Exceptions nur dort erscheinen. Bei "normalen" Java-Programmen landen die in der "Console".
Du kannst übrigens auch eigene Einträge schreiben: Log.d(ebug), Log.e(rror), etc. Erleichtert die Fehlersuche manchmal gewaltig...
Schön wär's noch, wenn man relativ einfach an die Logs von Anwendern käme (nach Murphy's Gesetz kann man Fehler ja nur selten lokal nachvollziehen). Soweit ich das sehe, geht das aber nur mit den SDK-Tools.
 

Ähnliche Themen

A
Antworten
10
Aufrufe
1.018
swa00
swa00
C
Antworten
8
Aufrufe
1.123
swa00
swa00
D
Antworten
9
Aufrufe
1.762
jogimuc
J
Zurück
Oben Unten