diff options
author | Michael Chan <mchan@android.com> | 2013-04-09 14:18:45 -0700 |
---|---|---|
committer | Michael Chan <mchan@android.com> | 2013-04-09 14:25:25 -0700 |
commit | b064db0d1a7ffcedddd691b35d57e2cdb0268883 (patch) | |
tree | 93906bc614fc0237985fd5420db6fbe30ec6e07f /src/com/android/timezonepicker | |
parent | 698a4e79b244fc41c0b2ff4cde32e89a7049cb05 (diff) | |
download | timezonepicker-b064db0d1a7ffcedddd691b35d57e2cdb0268883.tar.gz |
Fixed disallow result labels to be clicked
Bug: 8578919
Change-Id: I85d903e9df3aacfac0c08c156285c9a631883fe5
Diffstat (limited to 'src/com/android/timezonepicker')
3 files changed, 16 insertions, 6 deletions
diff --git a/src/com/android/timezonepicker/TimeZoneFilterTypeAdapter.java b/src/com/android/timezonepicker/TimeZoneFilterTypeAdapter.java index 0c8d420..4cec7b4 100644 --- a/src/com/android/timezonepicker/TimeZoneFilterTypeAdapter.java +++ b/src/com/android/timezonepicker/TimeZoneFilterTypeAdapter.java @@ -97,6 +97,11 @@ public class TimeZoneFilterTypeAdapter extends BaseAdapter implements Filterable } @Override + public boolean areAllItemsEnabled() { + return false; + } + + @Override public boolean isEnabled(int position) { return !mLiveResults.get(position).showLabel; } diff --git a/src/com/android/timezonepicker/TimeZonePickerView.java b/src/com/android/timezonepicker/TimeZonePickerView.java index 50b7afb..e41db2b 100644 --- a/src/com/android/timezonepicker/TimeZonePickerView.java +++ b/src/com/android/timezonepicker/TimeZonePickerView.java @@ -60,6 +60,7 @@ public class TimeZonePickerView extends LinearLayout implements TextWatcher, OnI mResultAdapter = new TimeZoneResultAdapter(mContext, tzd, l); ListView timeZoneList = (ListView) findViewById(R.id.timezonelist); timeZoneList.setAdapter(mResultAdapter); + timeZoneList.setOnItemClickListener(mResultAdapter); mAutoCompleteTextView = (AutoCompleteTextView) findViewById(R.id.searchBox); mFilterAdapter = new TimeZoneFilterTypeAdapter(mContext, tzd, mResultAdapter); diff --git a/src/com/android/timezonepicker/TimeZoneResultAdapter.java b/src/com/android/timezonepicker/TimeZoneResultAdapter.java index 3adbf43..7e9744b 100644 --- a/src/com/android/timezonepicker/TimeZoneResultAdapter.java +++ b/src/com/android/timezonepicker/TimeZoneResultAdapter.java @@ -22,8 +22,9 @@ import android.text.TextUtils; import android.util.Log; import android.view.LayoutInflater; import android.view.View; -import android.view.View.OnClickListener; import android.view.ViewGroup; +import android.widget.AdapterView; +import android.widget.AdapterView.OnItemClickListener; import android.widget.BaseAdapter; import android.widget.TextView; @@ -35,7 +36,7 @@ import java.util.Arrays; import java.util.Iterator; import java.util.List; -public class TimeZoneResultAdapter extends BaseAdapter implements OnClickListener, +public class TimeZoneResultAdapter extends BaseAdapter implements OnItemClickListener, OnSetFilterListener { private static final String TAG = "TimeZoneResultAdapter"; private static final int VIEW_TAG_TIME_ZONE = R.id.time_zone; @@ -262,6 +263,11 @@ public class TimeZoneResultAdapter extends BaseAdapter implements OnClickListene } @Override + public boolean areAllItemsEnabled() { + return false; + } + + @Override public boolean isEnabled(int position) { return mFilteredTimeZoneIndices[position] >= 0; } @@ -277,7 +283,6 @@ public class TimeZoneResultAdapter extends BaseAdapter implements OnClickListene if (v == null) { v = mInflater.inflate(R.layout.time_zone_item, null); - v.setOnClickListener(this); ViewHolder.setupViewHolder(v); } @@ -323,14 +328,13 @@ public class TimeZoneResultAdapter extends BaseAdapter implements OnClickListene return true; } - // Implements OnClickListener + // Implements OnItemClickListener @Override - public void onClick(View v) { + public void onItemClick(AdapterView<?> parent, View v, int position, long id) { if (mTimeZoneSetListener != null) { TimeZoneInfo tzi = (TimeZoneInfo) v.getTag(VIEW_TAG_TIME_ZONE); mTimeZoneSetListener.onTimeZoneSet(tzi); saveRecentTimezone(tzi.mTzId); } } - } |