Datenbank mit List View verbinden, aber wie ?

  • 35 Antworten
  • Letztes Antwortdatum
Funktioniert aber bei mir so. Bei dir stimmt ja noch mehr nicht. Siehe das unterringelte bei setContentView usw. - guck doch mal, was er da als Fehler vorschlägt.

Btw. warum machst du:
Code:
public static ListView myList;
ListView Liste = (ListView) findViewById(R.id.Liste);
wenn dann:

Code:
public static ListView myList;
myList = (ListView) findViewById(R.id.Liste);
 

Anhänge

  • device-2015-02-10-222914.png
    device-2015-02-10-222914.png
    12,7 KB · Aufrufe: 152
Ahja logisch, deine Klasse listview_activity sollte natürlich z.b. von Activity erben. (oder von was auch immer bei dir XD)
 
  • Danke
Reaktionen: theboss22
sooo paar fehler hab ich wegbekommen, allerdings leider nicht alle:

siehe Foto:
Bildschirmfoto%202015-02-11%20um%2014.09.58.png


Eclipse schlägt mir bei Fehler Nr. 1:
myList = (ListView) findViewById(R.id.list);
nur vor die R.Java zu ändern, was meines Wissens nach ja nichts bringen würde

Fehler Nr2 schlägt mir Eclipse das Erstellen eines DataBaseHandler.db packages vor, demnach findet er wohl noch nicht meinen DatabaseHandler ?

und beim Fehler Nr.3 schlägt er ebenfalls nur "Rename in File R" vor

Hat jemand ne idee was noch nicht stimmt ? :)

EDIT: Okay, Fehler Nr. 2 hab ich gelöst, 3 und 1 fehlen aber noch...
 
Zuletzt bearbeitet:
Ich sehe kein Foto ... verlinke mal neu.
 
Nö immer noch nicht. Lade es halt hier als Anhang hoch. :mellow:
 
DatabaseHandler db = new DatabaseHandler; ist falsch da man ne Klasse mit
DatabaseHandler db = new DatabaseHandler(); instanziiert.
Schließlich dient das "()" dazu, Konstruktoren Parameter zu übergeben. Vielleicht doch nochmal mit den Grundlagen von Java anfangen? :D

Aber da muss dir doch Eclipse was anzeigen oder? (also was den Fehler betrifft)
 
  • Danke
Reaktionen: theboss22
oh das hab ich ja schon gelöst :)

neee eclipse schlägt mir nur das oben geschriebene als Berichtigung vor :D : /
 
Naja wenn er "list" nicht findet, findet er sie nicht. Entweder ist die ID falsch, oder da du mit setContenView das Layout "suche_liste" setzt, findet er womöglich dort die ListView nicht. Aber ich kann ja nicht hellsehen.
Ansonsten mal nen Project Clean machen.
 
Code:
  <ListView 
       android:id="@android:id/list" 
      android:layout_width="fill_parent" 
    android:layout_height="fill_parent">     
  </ListView>

das müsste er ja dann eigentlich finden ?

hmmm Project Clean ? :)

EDIT: okay komisch, jetzt geht es :)

Der ursprüngliche Beitrag von 16:06 Uhr wurde um 16:52 Uhr ergänzt:

noch eine Frage, damit jetzt die Liste im Emulator angezeigt wird muss ich doch nur noch die ListViewActivity und den "DatabaseHandler" in das Android Manifest.xml aufnehmen und dann über einen Button aufrufen ? :)
 
Naja, wenn die Activity noch nicht in der Manifest steht schon. Wie du die Activity aufrufst ist egal, aber ja wenn du die neue Activity mit einem Button aufrufst (per Intent), dürfte das funktionieren.


Doku zu <activity>:
Declares an activity (an Activity subclass) that implements part of the application's visual user interface. All activities must be represented by <activity> elements in the manifest file. Any that are not declared there will not be seen by the system and will never be run.
 
Zuletzt bearbeitet:
hmmm,

sooo eigentlich sollte es jetzt funktionieren, nur komischerweise ist die liste noch leer :confused2: , nach LogCat wird die ListViewActivity auf jeden fall ausgeführt, allerdings steht dort auch das:
"02-13 20:19:15.632: I/Choreographer(1730): Skipped 37 frames! The application may be doing too much work on its main thread."
Hat das eine Bedeutung ?

Codes:


ListViewActivity:
Code:
package com.example.fotooh2;

import java.util.ArrayList;

import com.example.fotooh2.R;
import com.example.fotooh2.DatabaseHandler;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.ArrayAdapter;

import android.widget.ListView;

public class ListViewActivity extends Activity {

	public ListView listView1;

	public static ArrayList<String> ArrayofPositions = new ArrayList<String>();

	public void onCreate(Bundle savedInstanceState) { //
		super.onCreate(savedInstanceState); //
		setContentView(R.layout.suche_liste); //
		

		DatabaseHandler db = new DatabaseHandler(this);
		db.getAllPositionstoList();
		Log.d("FirstScreenActivity", "ListView bis hier!"); // LOG Fehlersuche

		listView1 = (ListView) findViewById(R.id.listView1);
		ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
				R.layout.listview_item_row, ArrayofPositions);

		listView1.setAdapter(adapter);
		
		Log.d("FirstScreenActivity", "ListView Läuft!"); // LOG Fehlersuche

	}
}


Brauche ich vielleicht noch so etwas:

Code:
View header = (View) getLayoutInflater().inflate(
				R.layout.listview_header_row, null);
		listView1.addHeaderView(header);

wäre wirklich cool wenn jemand mir weiterhelfen kann :)
 
okay, das Problem habe ich nun gefunden :)
aber dennoch wird nichts in der ListView ausgegeben, hat jemand eine Idee ?! wäre super ! :)
 
wird denn dein "ArrayOfPositions" gefüllt ? Ich denk mal in db.getAllPositionstoList ?
wenn da Daten drin sind, liegts evtl am Layout ?
R.Layout.List_View_Item_Row mal durch Simple_List_Item1 ersetzt ?
 
Zurück
Oben Unten