2010-11-22 5 views
0

表示する要素のリストを取得するSimpleAdapterで表示される要素のリストを取得しました。 オブジェクトのリスト(SimpleAdapterに渡すもの)の要素には、要素のスタイルを区別するために使用するフィールドがあります(ElmentsはTextViewです)。しかし、その方法はわかりません。あなたは、アダプタ(またはそのサブタイプの1つ)をサブクラス化しgetView方法では、この線に沿って何かをする必要があります事前にAndroid SimpleAdapter要素のスタイルを変更する

おかげ

Jaxerの

答えて

2

TextView row; 
// Recycle an already-inflated view if possible 
if (convertView == null) { 
    row = (TextView) View.inflate(android.R.layout.simple_list_item_1, getContext()); 
} else { 
    row = (TextView) convertView; 
} 
SomeModel myItem = getItem(pos); 
if (getItem(pos).displayFunky()) { //or whatever object condition you want to check 
    row.setTextColor(Color.RED) 
} else { 
    row.setTextColor(Color.GREEN) 
} 

row.setText(myItem.getDisplayText()); 

return row; 

複数のビュータイプを持つカスタムアダプタを使用することもできますが、これはおそらく気にならないほど単純なケースです。また、this SO postを参照してください。また、アダプターのサンプルコード(例えばone from NPR)とアダプターのマルチビュー(tutorial)をチェックアウトする必要があります。また、Google I/O 20092010のListViewsで、まったく不可能なRomain Guyのプレゼンテーションをチェックしてみてください。心の痛み、混乱、痛み、パフォーマンス調整の時間を節約できます。

関連する問題