ModeListAdapter.java 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. package epson.scan.activity;
  2. import android.content.Context;
  3. import android.support.annotation.DrawableRes;
  4. import android.support.annotation.NonNull;
  5. import android.support.annotation.Nullable;
  6. import android.support.annotation.StringRes;
  7. import android.support.annotation.UiThread;
  8. import android.view.LayoutInflater;
  9. import android.view.View;
  10. import android.view.ViewGroup;
  11. import android.widget.BaseAdapter;
  12. import android.widget.ImageView;
  13. import android.widget.ListAdapter;
  14. import android.widget.TextView;
  15. import epson.print.C2135R;
  16. public class ModeListAdapter extends BaseAdapter {
  17. private int mCurrentPosition;
  18. private LayoutInflater mLayoutInflater;
  19. @DrawableRes
  20. private int[] mLeftImageId;
  21. private int[] mStringIdArray;
  22. public long getItemId(int i) {
  23. return (long) i;
  24. }
  25. public ModeListAdapter(@NonNull Context context, @StringRes int[] iArr, int i) {
  26. this.mLayoutInflater = LayoutInflater.from(context);
  27. this.mStringIdArray = iArr;
  28. this.mCurrentPosition = i;
  29. this.mLeftImageId = null;
  30. }
  31. public ModeListAdapter(@NonNull Context context, @Nullable @StringRes int[] iArr, @DrawableRes int[] iArr2, int i) {
  32. this.mLayoutInflater = LayoutInflater.from(context);
  33. this.mStringIdArray = iArr == null ? new int[iArr2.length] : iArr;
  34. this.mCurrentPosition = i;
  35. this.mLeftImageId = iArr2;
  36. }
  37. public int getCount() {
  38. return this.mStringIdArray.length;
  39. }
  40. public Object getItem(int i) {
  41. return 0;
  42. }
  43. @UiThread
  44. public void setPosition(int i) {
  45. this.mCurrentPosition = i;
  46. int i2 = this.mCurrentPosition;
  47. if (i2 < 0) {
  48. this.mCurrentPosition = 0;
  49. } else if (i2 >= getCount()) {
  50. this.mCurrentPosition = getCount() - 1;
  51. }
  52. notifyDataSetChanged();
  53. }
  54. public int getPosition() {
  55. return this.mCurrentPosition;
  56. }
  57. public View getView(int i, View view, ViewGroup viewGroup) {
  58. int i2 = 0;
  59. if (view == null) {
  60. view = this.mLayoutInflater.inflate(C2135R.layout.i2_scan_setting_item, viewGroup, false);
  61. }
  62. if (this.mLeftImageId != null) {
  63. ImageView imageView = (ImageView) view.findViewById(C2135R.C2137id.leftImageView);
  64. imageView.setImageResource(this.mLeftImageId[i]);
  65. imageView.setVisibility(0);
  66. }
  67. if (this.mStringIdArray[0] != 0) {
  68. ((TextView) view.findViewById(C2135R.C2137id.tvSettingName)).setText(this.mStringIdArray[i]);
  69. }
  70. ImageView imageView2 = (ImageView) view.findViewById(C2135R.C2137id.ivSettingSelected);
  71. if (i != this.mCurrentPosition) {
  72. i2 = 8;
  73. }
  74. imageView2.setVisibility(i2);
  75. return view;
  76. }
  77. public static class Builder implements LocalListAdapterBuilder {
  78. private int mCurrentPosition;
  79. private int[] mStringIdArray;
  80. public Builder(int[] iArr, int i) {
  81. this.mStringIdArray = iArr;
  82. this.mCurrentPosition = i;
  83. }
  84. public ListAdapter build(Context context) {
  85. return new ModeListAdapter(context, this.mStringIdArray, this.mCurrentPosition);
  86. }
  87. }
  88. }