2017-11-30 11 views
-6

新しい行ではなく次の列の値を取得するにはどうすればよいですか?どのようにインクリメントするのですか?リストビューで新しい行ではなく次の列の値を取得できますか?

リストビューを使用して、スピナーから選択したユーザーの情報を表示します。ファーストネーム、ファーストネーム、ファーストネーム

ではなくなるはずです:等のファーストネーム、姓、電子メール、

Imは私++けど

public void myMethod(String user) { 

    ArrayList<String> theList = new ArrayList<>(); 

    Cursor data = db.getListViewAccountrequestinfo(); 
    if (data.getCount() == 0) { 

    } else { 

     while (data.moveToNext()) { 


      theList.add(data.getString(0)); 
      ListAdapter listAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, theList); 
      lvinfo.setAdapter(listAdapter); 
     } 
    } 
} 
+0

アダプターの内側ループを設定しています。それは完全な災害です。そのコードをループの外に置く。そして、ローカル変数を各反復でインクリメントし、それをあなたの問題のためにさらに使います。 – ADM

+0

問題の内容を指定するか、エラーがあれば追加してください。 –

答えて

0

を参照してください。ここに私の新しい作業コードは4時間後ですLOL

public void myMethod() { 

    ArrayList<String> theList = new ArrayList<>(); 


    Cursor data = db.getListViewAccountrequestinfo(spnpending.getSelectedItem().toString()); 
    if (data.getCount() == 0) { 

    } else { 


     if (data.moveToFirst()) { 
      do { 
       theList.add("Username: " + spnpending.getSelectedItem()); 
       theList.add("First name: " + data.getString(1)); 
       theList.add("Last name: " + data.getString(2)); 
       theList.add("Contact: " + data.getString(3)); 
       theList.add("Email: " + data.getString(4)); 

       ListAdapter listAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, theList); 
       lvinfo.setAdapter(listAdapter); 

      } while (data.moveToNext()); 
     } 
    } 
0
を動作していないと思われるの追加を考えて現れる何

Listviewは列ではなくデータベースに行を表示する必要があります。

data.getString()あなたは、その値(columnIndexに)をインクリメントするときに、それは次の列値ではない新しい行を与えるint columnIndex

などのパラメータを取りますので。

は、アイブ氏はすでにそれを得たCursor.getString()

関連する問題