「webservice」をチェックして「Managed」または「Unmanaged」ステータスを返すアプリケーションを作成しています。実行中の検索履歴をリストビューに保持しています(ユーザーがクリアするまで)。これはすべて機能しています。
ステータスが「管理対象」の場合は単一のテキストビューアイテムを緑色にし、「管理対象外」の場合は単一のアイテムを赤色にします。
//This is the String Array which gets populated later.
ArrayList<String> _searchHistoryList = new ArrayList<String>();
//Here is where I override the getView to try to change the color.
listAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, _searchHistoryList) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
TextView textView = (TextView) super.getView(position, convertView, parent);
String _currentStatus = appSettings.getString("current_status", "na");
int textColor;
if (_currentStatus.equals("Managed")){
textColor = R.color.green_text;
} else {
textColor = R.color.red_text;
}
textView.setTextColor(getResources().getColor(textColor));
return textView;
}
};
lvSearchHistory.setAdapter(listAdapter);
上記のコードは、実際にはリストビュー全体を最後の検索項目の色に変えます。(例:最後の検索で「管理対象」の結果が得られた場合-単一のアイテムだけでなく、アイテムのリスト全体が緑色に変わります)。
誰かが私を正しい方向に向けることができますか?