ScanSettingsDetailAdapter.java 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. package epson.scan.activity;
  2. import android.content.Context;
  3. import android.view.LayoutInflater;
  4. import android.view.View;
  5. import android.view.ViewGroup;
  6. import android.widget.BaseAdapter;
  7. import android.widget.ImageView;
  8. import android.widget.TextView;
  9. import java.util.Iterator;
  10. import java.util.LinkedHashMap;
  11. import epson.print.R;
  12. public class ScanSettingsDetailAdapter extends BaseAdapter {
  13. private LinkedHashMap<String, Integer> lhmListSettingsSupport;
  14. private LayoutInflater mInflater;
  15. private int selectedValue;
  16. public long getItemId(int i) {
  17. return (long) i;
  18. }
  19. public ScanSettingsDetailAdapter(Context context, LinkedHashMap<String, Integer> linkedHashMap, int i) {
  20. mInflater = LayoutInflater.from(context);
  21. lhmListSettingsSupport = linkedHashMap;
  22. selectedValue = i;
  23. }
  24. public int getCount() {
  25. return lhmListSettingsSupport.size();
  26. }
  27. public Object getItem(int i) {
  28. return lhmListSettingsSupport.get(Integer.valueOf(i));
  29. }
  30. public void setSelected(int i) {
  31. selectedValue = i;
  32. }
  33. public View getView(int i, View view, ViewGroup viewGroup) {
  34. DetailSettingHolder detailSettingHolder;
  35. if (view == null) {
  36. view = mInflater.inflate(R.layout.scan_settings_item, (ViewGroup) null);
  37. detailSettingHolder = new DetailSettingHolder();
  38. detailSettingHolder.text = (TextView) view.findViewById(R.id.tvSettingName);
  39. detailSettingHolder.img = (ImageView) view.findViewById(R.id.ivSettingSelected);
  40. detailSettingHolder.img.setBackgroundResource(R.drawable.selected);
  41. view.setTag(detailSettingHolder);
  42. } else {
  43. detailSettingHolder = (DetailSettingHolder) view.getTag();
  44. }
  45. Iterator<String> it = lhmListSettingsSupport.keySet().iterator();
  46. int i2 = 0;
  47. while (true) {
  48. if (!it.hasNext()) {
  49. break;
  50. }
  51. String next = it.next();
  52. if (i2 == i) {
  53. int intValue = lhmListSettingsSupport.get(next).intValue();
  54. detailSettingHolder.text.setText(next);
  55. if (intValue == selectedValue) {
  56. detailSettingHolder.img.setVisibility(View.VISIBLE);
  57. } else {
  58. detailSettingHolder.img.setVisibility(4);
  59. }
  60. detailSettingHolder.value = intValue;
  61. } else {
  62. i2++;
  63. }
  64. }
  65. return view;
  66. }
  67. static class DetailSettingHolder {
  68. ImageView img;
  69. TextView text;
  70. int value;
  71. DetailSettingHolder() {
  72. }
  73. }
  74. }