2012-01-03 15 views
0

私は、リストビューに1行につき2行のテキストを表示したいと考えています。 enter image description here1つのリストビュー行に複数のテキスト行がありますか?

それぞれのタイトルの下に、日付と著者名の別のテキスト行を表示したいと思います。

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle icicle) { 
    super.onCreate(icicle); 
    setContentView(R.layout.main); 

    titleArray = new ArrayList<String>(); 
    titleArrayAdapter = new ArrayAdapter<String>(this, R.layout.list_item, 
     R.id.itemName, titleArray); 

} 

public void getThreads() throws IOException { 
    Thread getThreadsThread = new Thread() { 
     public void run() { 
       Document doc = null; 
       try { 
        doc = Jsoup.connect(Constants.FORUM).get(); 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } 
       Elements threads = doc.select(".topic_title"); 
       for (Element thread : threads) { 
        threadTitle = thread.text(); 
        titleArray.add(threadTitle); 
       } 
     } 
    }; 
    getThreadsThread.start(); 
    try { 
     getThreadsThread.join(); 
    } catch (InterruptedException e) { 
     e.printStackTrace(); 
    } 
    mHandler.sendEmptyMessage(0); 
} 

final Handler mHandler = new Handler(){ 
    public void handleMessage (Message msg) { 
     switch (msg.what) { 
     case 0: 
      MainActivity.this.runOnUiThread(new Runnable() { 
       @Override 
       public void run() { 
        setListAdapter(titleArrayAdapter); 
       } 
      }); 
      break; 
     } 
    } 
}; 

行に別の行を追加することをおすすめしますか?今のところ私はちょうど2番目の行に "著者"と "日付"を追加したいと思う、私は対応するフィールドを解析するコードを持っているまでプレースホルダーが必要です。

答えて

2

行に別の行を追加することをおすすめしますか?

TextView~res/layout/list_item.xmlを追加します。サイズと位置は任意です。

さらに、ArrayAdapterをサブクラス化し、getView()を上書きする必要があります。 ArrayAdapterは1行につき1つの処理方法しか知っていません。それ以上のものが必要な場合は、残りの部分を自分で処理する必要があります。

+0

ああ、よく私が予想していたよりもはるかに簡単です。 arrayAdapterのサブクラスの意味を説明できますか? – r2DoesInc

+0

@ r2DoesInc: "サブクラスarrayAdapterの意味を説明できますか?" - つまり、 'ArrayAdapter'のサブクラスを作成します。あなたは知っている、 'class MyFunkyAdapterは、ArrayAdapter を拡張します。私の書籍の中の[無料の抜粋です](http://commonsware.com/Android/excerpt.pdf)(http://commonsware.com/Android)より詳しく解説しています。 – CommonsWare

+0

Ah。ありがとうございました。 :) – r2DoesInc

1

BaseAdapterを拡張したカスタムListAdapterを使用することをお勧めします。

データをArrayListに格納し、XMLレイアウトでデータを処理する新しいGetView()を作成します。

2

このようにbasic example

+0

私はそれがリストビューに適用されるとは思わない、少なくとも私の基本的なJavaのスキルが私を理解できるように限り。 – r2DoesInc

関連する問題