Java 我能';我看不到列表视图

Java 我能';我看不到列表视图,java,android,sqlite,listview,android-sqlite,Java,Android,Sqlite,Listview,Android Sqlite,ListView为空的原因是什么?实际上,我已经用日期填充了数据库,但是ListView是空的,尤其是活动是空的。当使用arrayAdapter创建ListView时,该活动为空,但当使用游标适配器创建应用程序时,该活动为空 我编写了一个应用程序,它使用ListView列出我的SQLite日期的一部分。 但是我看不到列表视图。应用程序启动时没有错误,但活动为空。我看不出我的错误。我希望,其他人可以看到错误 <?xml version="1.0" encoding="utf-8"?>

ListView为空的原因是什么?实际上,我已经用日期填充了数据库,但是ListView是空的,尤其是活动是空的。当使用arrayAdapter创建ListView时,该活动为空,但当使用游标适配器创建应用程序时,该活动为空

我编写了一个应用程序,它使用ListView列出我的SQLite日期的一部分。
但是我看不到列表视图。应用程序启动时没有错误,但活动为空。我看不出我的错误。我希望,其他人可以看到错误

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="16dp"
android:paddingBottom="16dp"
tools:context="com.example.katjarummler.hundeschule_petra_bennemann.
GruppeAuslesenActivity"
android:focusableInTouchMode="true"
android:weightSum="1">

<ListView
    android:id="@+id/list"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:visibility="visible"
    />

 </LinearLayout>

你需要匹配父母

如果您使用的是数据库,请尝试使用CursorAdapter而不是ArrayAdapter,并确保
dataSource.getAllGruppen()
实际返回一些内容

此外,还有两个
HundeschuleMemoDataSource数据源的实例。从字段中删除声明,因为上下文尚未初始化

private HundeschuleMemoDataSource dataSource;

@Override 
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_gruppeauslesen);

    dataSource = new  HundeschuleMemoDataSource(this);

    initializeHundeschuleKundenListView();
如果您确实使用了游标适配器,下面是您正确的方法

public Cursor getAllGruppen() {

   String selectQuery = "SELECT " +
        HundeschuleMemoDBHelper.COLUMN_ID + " , " +
        HundeschuleMemoDBHelper.COLUMN_GNAME + " , " +
        HundeschuleMemoDBHelper.COLUMN_KName + " , " +
        HundeschuleMemoDBHelper.COLUMN_HUND + " , " +
        HundeschuleMemoDBHelper.COLUMN_CHECKED +
        " FROM " + HundeschuleMemoDBHelper.TABLE_KUNDEN_LIST +  
        " ORDER BY 2 ASC ";

    return dbHelper.getReadableDatabase().rawQuery(selectQuery, null);
}

你能用你看到的屏幕截图更新你的问题吗?以及一个日志语句,用于打印
dataSource.getAllGruppen()的大小。
 public class HundeschuleMemoDBHelper extends SQLiteOpenHelper {


private static final String LOG_TAG = 
HundeschuleMemoDBHelper.class.getSimpleName();



public static final String DB_NAME = "Kunden_list.db";
public static final int DB_VERSION = 7;

public static final String TABLE_KUNDEN_LIST = "Kunden_list";


public  static final String COLUMN_ID = "_id";
public  static final String COLUMN_KName = "Name";
public  static final String COLUMN_GNAME = "Gruppe";
public  static final String COLUMN_KTELEFON = "Telefon";
public  static final String COLUMN_HUND = "Hund";
public  static final String COLUMN_BEGINN = "Beginn";
public  static final String COLUMN_CHECKED = "checked";



public  static final String SQL_CREATE = "CREATE TABLE " + 
TABLE_KUNDEN_LIST +
        "(" + COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
        COLUMN_KName + " TEXT NOT NULL, " +
        COLUMN_GNAME + " TEXT NOT NULL, " +
        COLUMN_KTELEFON + " TEXT NOT NULL, " +
        COLUMN_HUND + " TEXT NOT NULL, " +
        COLUMN_BEGINN + " TEXT NOT NULL, " +
        COLUMN_CHECKED + " BOOLEAN NOT NULL DEFAULT 0);";


public  static final String SQL_DROP = "DROP TABLE IF EXISTS " + 
TABLE_KUNDEN_LIST;



public  HundeschuleMemoDBHelper(Context context, String gruppe, String 
sql) {
    super(context, DB_NAME, null, DB_VERSION);
    Log.d(LOG_TAG, "DBHelper hat die Datenbank: " + getDatabaseName() + 
" erzeugt.");
}



//Die onCreate-Methode wird nur aufgerufen, falls die Datenbank noch 
 nicht existiert
public void onCreate(SQLiteDatabase db) {
    try{
        Log.d(LOG_TAG, "Die Tabelle wird mit SQL-Befehl: " + SQL_CREATE 
 + " angelegt.");
        db.execSQL(SQL_CREATE);


    }
    catch(Exception ex){
        Log.e(LOG_TAG, "Fehler beim Anlegen der Tabelle: " + 
 ex.getMessage());
    }

}


// Die onUpgrade-Methode wird aufgerufen, sobald die neue 
Versionsnummer höher
// als die alte Versionsnummer ist und somit ein Upgrade notwendig wird

public void onUpgrade(SQLiteDatabase db, int oldVersion, int 
newVersion) {
    Log.d(LOG_TAG, "Die Tabelle mit Versionsnummer " + oldVersion + " 
wird entfernt.");
    db.execSQL(SQL_DROP);


    onCreate(db);
  }

}
public class HundeschuleMemoKunden {

private String kName;
private String gName;
private String kTelefon;
private String hName;
private String beginn;
private long id;
private boolean checked;


public HundeschuleMemoKunden(String kName, String gName, String 
kTelefon, String hName,
                             String beginn){
    this.id=id;
    this.kName=kName;
    this.gName=gName;
    this.kTelefon=kTelefon;
    this.hName=hName;
    this.beginn=beginn;
    this.checked = checked;
}



public String getkName(){
    return kName;
}
public void setkName(String kName){
    this.kName = kName;
}
public String getgName(){return gName;}
public void setgName(String gName){
    this.gName = gName;
}
public String getkTelefon(){
    return kTelefon;
}
public void setkTelefon(String kTelefon){this.kTelefon = kTelefon;}
public String gethName(){
    return hName;
}
public void sethName(String hName){
    this.hName = hName;
}
public String getbeginn(){
    return beginn;
}
public void setbeginn(String beginn){
    this.beginn = beginn;
}
public long getId(){return id;}
public void setId(long id){
    this.id = id;
}
public boolean isChecked(){return checked;}
public void setChecked(boolean checked){this.checked = checked;}





  public String toString(){
    String output = kName + " " + gName + " " + kTelefon + " " + hName 
 + " " + beginn;
    return output;
  }



 }
 android:layout_height="wrap_content"
private HundeschuleMemoDataSource dataSource;

@Override 
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_gruppeauslesen);

    dataSource = new  HundeschuleMemoDataSource(this);

    initializeHundeschuleKundenListView();
public Cursor getAllGruppen() {

   String selectQuery = "SELECT " +
        HundeschuleMemoDBHelper.COLUMN_ID + " , " +
        HundeschuleMemoDBHelper.COLUMN_GNAME + " , " +
        HundeschuleMemoDBHelper.COLUMN_KName + " , " +
        HundeschuleMemoDBHelper.COLUMN_HUND + " , " +
        HundeschuleMemoDBHelper.COLUMN_CHECKED +
        " FROM " + HundeschuleMemoDBHelper.TABLE_KUNDEN_LIST +  
        " ORDER BY 2 ASC ";

    return dbHelper.getReadableDatabase().rawQuery(selectQuery, null);
}