2

私はここに来たばかりで、誰かが私が抱えているこの小さな危機を助けてくれたら素晴らしいと思います. ここにあるJeff SharkeyのSeparate List Adapterチュートリアルに従っていますが、彼が説明する方法に合わせてすべて適切に機能するようになりました。

私の問題は、Jeffsアダプターを使用して、抽出したデータをリストビューに入れようとしているテーブルを持つ事前に作成されたデータベースがあることです。カテゴリ ID 列に従って、このデータを別のセクションに配置する必要があります。

私が現在データを抽出しているテーブルはFoodテーブルで、categoriID、menuID、Item、Description、price、PK _idの6つの列があります

私のデータベースは、SimpleCursorAdapter を使用してデータをリスト ビューにバインドする他のアクティビティと同様に正常に動作します。(他のテーブルから)

Database Helper クラスで次のメソッドを使用して、必要なデータを取得します

public List<FoodModel> getData(String catid, String menuid) {
            List<FoodModel> FoodListModel = new ArrayList<FoodModel>();
    Cursor cursor = myDataBase.query(FOOD_TABLE, new String [] {FOODITEM_COLUMN, FOODITEMDESCRIPTION_COLUMN,FOODPRICE_COLUMN}, "catid = ? AND menuid = ?",
      new String[] { catid, menuid},null, null, null, null);   

    if (cursor.moveToFirst()){
    do{
        FoodModel FoodModel = new FoodModel();
            FoodModel.setItem(cursor.getString(0));
            FoodModel.setdescrription(cursor.getString(1));
            FoodModel.setprice(Double.parseDouble(cursor.getString(2)));
            FoodListModel.add(FoodModel);} while (cursor.moveToNext());
    }
return FoodListModel;
 }

Food Model クラスは、カーソル データを格納する標準の get set クラスです。

このパブリック メソッドは、メイン アクティビティ (jeffs ListSample.java) と同様に機能します。

   Log.d("Reading: ", "Testing Cursor");
            List<FoodModel> Data1 =  dba.getData("1", "1");
            for (FoodModel fd : Data1){
                String log = "Item: "+fd.getitem()+" ,Description: " + fd.getdescription() + " ,Price: " + fd.getprice(); 
                Log.d("Name: ", log);

これにより、SeperateListAdapter の 1 つのセクションに入れる必要があるすべてのデータのリストが出力されますが、ログ cat

リストビューに出力しようとしているのは、アイテム、説明、価格の 3 つです。

私の問題は、このデータを正しいセクションの下のリストビューに追加するにはどうすればよいですか?

ジェフが示すように手動で挿入するのとは対照的に

   List<Map<String,?>> security = new LinkedList<Map<String,?>>();  
                    security.add(createItem("Remember passwords", "Save usernames and passwords for Web sites"));  
                    security.add(createItem("Clear passwords", "Save usernames and passwords for Web sites"));  
                    security.add(createItem("Show security warnings", "Show warning if there is a problem with a site's security")); 

すべてのクラスを貼り付けて、このサイトを使用する最初の経験を開始したくありませんでした。これは、この Web サイトを使用するのが初めてであるためです。私の英語は最高ではなく、これを書くのに時間がかかりました。受け入れられることを願っています。質問として、誰かが親切に私を助けてくれたり、正しい方向に向けてくれたりしたら、本当にうれしいです。

編集: 私のコードの残りの部分を喜んで投稿します

4

0 に答える 0