2012-04-13 8 views
0

都市と州の名前を表示するという意味でListActivity拡張クラスがあります。都市は青色で、州は赤色でなければなりません。私はListViewとArrayAdapterを使ってリストを表示しています。私はたくさんの検索をしましたが、私はXMLを使用しています。 誰かが私を助けてください..事前に感謝します。XMLを使用せずにListActivityのリストアイテム(文字列)を色づける方法

私のコードは次のようになります。

String cities[]={"....."}; 
String stated[]={"....."}; 
private ArrayList<String> list_places = new ArrayList<String>(); 
Private ArrayAdapter<String> list_adapter; 
list_adapter = new ArrayAdapter<String>(this,android.R.layout.simple_expandable_list_item_1,list_places); 
for(int i=0;i<10;i++) 
{ 
if(isCity()) 
    /*Text in blue*/ 
    list_adapter.add(cities[i]); 
else 
    /*Text in red*/ 
    list_adapter.add(states[i]); 
} 
setListAdapter(list_adapter); 
+0

使用してXMLを通じ唯一の方法ですあなたリスト項目を制御できる... – ngesh

+0

@sandy:まあ、あなたはいつもプログラマティカルですもちろんリスト項目のレイアウトを作成することはできますが、あらかじめ定義されたxmlレイアウトを使うよりも面倒です。 :) –

答えて

0

パブリッククラスListColorがBaseAdapterを拡張し、このアダプタを試してみてください{

String[] items = { "Hello ", "hi", " how are you" }; 
Context mContext; 

public ListColor(Context c) { 

    mContext = c; 

} 

@Override 
public int getCount() { 
    // TODO Auto-generated method stub 
    return items.length; 
} 

@Override 
public Object getItem(int arg0) { 
    // TODO Auto-generated method stub 
    return null; 
} 

@Override 
public long getItemId(int arg0) { 
    // TODO Auto-generated method stub 
    return 0; 
} 

@Override 
public View getView(int arg0, View arg1, ViewGroup arg2) { 
    // TODO Auto-generated method stub 
    TextView tv = new TextView(mContext); 
    tv.setText(items[arg0]); 
    tv.setTextColor(Color.RED); 

    return tv; 
} 

}

関連する問題