アダプタで文字列のリストを作成していますが、特定の条件に基づいてこれらのアイテムに異なるレイアウトプロパティを適用するにはどうすればよいですか?特定の条件に基づいてアイテムを一覧表示するために、さまざまなスタイルを与える方法はありますか?
たとえば、リスト項目のテキストに特定の単語が含まれているかどうかを確認し、テストの結果に基づいて、マージンを増減させたいと思ったとします何か意味をなさない:D)。
アダプタで文字列のリストを作成していますが、特定の条件に基づいてこれらのアイテムに異なるレイアウトプロパティを適用するにはどうすればよいですか?特定の条件に基づいてアイテムを一覧表示するために、さまざまなスタイルを与える方法はありますか?
たとえば、リスト項目のテキストに特定の単語が含まれているかどうかを確認し、テストの結果に基づいて、マージンを増減させたいと思ったとします何か意味をなさない:D)。
次のようなアダプタを作成します。ここでの唯一の背景色が変更され、より多くの詳細については、
public class SpecialAdapter extends SimpleAdapter {
private int[] colors = new int[] { 0x30FF0000, 0x300000FF };
public SpecialAdapter(Context context, List<HashMap<String, String>> items, int resource, String[] from, int[] to) {
super(context, items, resource, from, to);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
int colorPos = position % colors.length;
view.setBackgroundColor(colors[colorPos]);
return view;
}
}
....ウル条件に応じて、そこにレイアウトを変更してみてください。このリンクにhttp://eureka.ykyuen.info/2010/03/15/android-%E2%80%93-applying-alternate-row-color-in-listview-with-simpleadapter/
特定の条件に基づいて異なるテーマを提供するためにContextThemeWrapperを使用できます。
Noobの質問を確認してください。私はまだこれを行うことができます私の活動は、ListViewコントロールを拡張する場合作業? – user1301428
わかりました。とにかく、別の質問:私の条件にリスト項目のテキストの一部が含まれる場合はどうですか?この点を明確にするために質問を編集しました。 – user1301428