アダプタを使用して文字列のリストを作成していますが、特定の条件に基づいてこれらの項目に別のレイアウト プロパティを適用するにはどうすればよいですか?
たとえば、リスト項目のテキストに特定の単語が含まれているかどうかを確認する必要があり、テストの結果に基づいて、マージンを増減したいとします (これが意味をなす場合: D)。
アダプタを使用して文字列のリストを作成していますが、特定の条件に基づいてこれらの項目に別のレイアウト プロパティを適用するにはどうすればよいですか?
たとえば、リスト項目のテキストに特定の単語が含まれているかどうかを確認する必要があり、テストの結果に基づいて、マージンを増減したいとします (これが意味をなす場合: D)。
特定の条件に基づいてさまざまなテーマを提供するために、 ContextThemeWrapperを使用できます。
次のようなアダプターを作成します。ここでは背景色のみを変更していますが、状況に応じてレイアウトを変更してみてください....
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-simplleadapter/