diff options
-rw-r--r-- | core/java/android/widget/Spinner.java | 13 | ||||
-rw-r--r-- | core/java/com/android/internal/widget/ScrollingTabContainerView.java | 10 |
2 files changed, 16 insertions, 7 deletions
diff --git a/core/java/android/widget/Spinner.java b/core/java/android/widget/Spinner.java index ecf19b3..2cacbdc 100644 --- a/core/java/android/widget/Spinner.java +++ b/core/java/android/widget/Spinner.java @@ -282,6 +282,13 @@ public class Spinner extends AbsSpinner implements OnClickListener { throw new RuntimeException("setOnItemClickListener cannot be used with a spinner."); } + /** + * @hide internal use only + */ + public void setOnItemClickListenerInt(OnItemClickListener l) { + super.setOnItemClickListener(l); + } + @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); @@ -707,6 +714,9 @@ public class Spinner extends AbsSpinner implements OnClickListener { public void onClick(DialogInterface dialog, int which) { setSelection(which); + if (mOnItemClickListener != null) { + performItemClick(null, which, mListAdapter.getItemId(which)); + } dismiss(); } } @@ -724,6 +734,9 @@ public class Spinner extends AbsSpinner implements OnClickListener { setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView parent, View v, int position, long id) { Spinner.this.setSelection(position); + if (mOnItemClickListener != null) { + Spinner.this.performItemClick(null, position, mAdapter.getItemId(position)); + } dismiss(); } }); diff --git a/core/java/com/android/internal/widget/ScrollingTabContainerView.java b/core/java/com/android/internal/widget/ScrollingTabContainerView.java index 25b0065..1767d68 100644 --- a/core/java/com/android/internal/widget/ScrollingTabContainerView.java +++ b/core/java/com/android/internal/widget/ScrollingTabContainerView.java @@ -45,7 +45,7 @@ import android.widget.TextView; * across different configurations or circumstances. */ public class ScrollingTabContainerView extends HorizontalScrollView - implements AdapterView.OnItemSelectedListener { + implements AdapterView.OnItemClickListener { private static final String TAG = "ScrollingTabContainerView"; Runnable mTabSelector; private TabClickListener mTabClickListener; @@ -197,7 +197,7 @@ public class ScrollingTabContainerView extends HorizontalScrollView com.android.internal.R.attr.actionDropDownStyle); spinner.setLayoutParams(new LinearLayout.LayoutParams( LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.MATCH_PARENT)); - spinner.setOnItemSelectedListener(this); + spinner.setOnItemClickListenerInt(this); return spinner; } @@ -347,15 +347,11 @@ public class ScrollingTabContainerView extends HorizontalScrollView } @Override - public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { + public void onItemClick(AdapterView<?> parent, View view, int position, long id) { TabView tabView = (TabView) view; tabView.getTab().select(); } - @Override - public void onNothingSelected(AdapterView<?> parent) { - } - private class TabView extends LinearLayout { private ActionBar.Tab mTab; private TextView mTextView; |