Merge "Fix bug 6065890 - Correct callback sequence for action bar tab switching"
This commit is contained in:
@@ -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();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user