2012-03-27 13 views
0

アンドロイド:リストビューをデータベースに接続すると、リストビューをデータベースに接続すると、リストビューのスタイルが失われて、スタイリングが失われました。

私はスタイルを追加するとき、私はすべてのリストビューで同じデータを参照してください。

public void update_list(String NN) { 
     //HashMap<String,String> item = new HashMap<String,String>(); 

     db_results = new ArrayList<String>(); 
     Cursor cursor = db.rawQuery(NN, null); 
     while(cursor.moveToNext()) { 
      //item.put("line1",String.valueOf(cursor.getString(cursor.getColumnIndex("A")))); 
       //item.put("line2",String.valueOf(cursor.getString(cursor.getColumnIndex("B")))); 
       //item.put("line3",String.valueOf(cursor.getString(cursor.getColumnIndex("C")))); 
       //list.add(item); 
      db_results.add(String.valueOf(cursor.getString(cursor.getColumnIndex("A"))) + "\n" +cursor.getString(cursor.getColumnIndex("B")) + "\n" +cursor.getString(cursor.getColumnIndex("C"))); 
     } 
     cursor.close(); 
       setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,db_results)); 

option1:このコードのように、私のリストにあるデータを見るが、私はスタイリングを失った。

オプション2:私は国連の発言に留意コードと私はあなたがカスタムレイアウトを作成し、それを埋めるためにSimpleCursorAdapterを使用するオフはるかに良いと思いリスト

答えて

0

のすべてにスタイリングが、同じデータを参照してください。

threelinelayout.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:orientation="vertical" > 
    <TextView 
      android:id="@+id/ListItem1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" /> 
    <TextView 
      android:id="@+id/ListItem2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" /> 
    <TextView 
      android:id="@+id/ListItem3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" /> 
</LinearLayout> 

アダプターコード

Cursor mCursor = db.rawQuery(NN, null); 
this.startManagingCursor(cursor); 

String[] from = new String[] { "A", "B", "C" }; 
int[] to = new int[] { R.id.ListItem1, R.id.ListItem2, R.id.ListItem3 }; 
SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(getActivity(), 
      R.layout.threelinelayout, mCursor, from, to); 
setListAdapter(mAdapter);  
+0

助けてくれてありがとう!このコード(アダプタコード)をどこに置くかこれの代わりに、またはそれに加えてですか? – Gali

+0

これはあなたが今持っているものの代わりに 'update_list'メソッドで使用します。これがうまくいく場合は、チェックマークをクリックして回答を受け入れてください。 – Barak

+0

入力したとおりに入力しましたが、エラーが発生しました: SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this、R.layout.threelinelayout、mCursor、from、to); – Gali

関連する問題