下面列出了android.support.v7.widget.AppCompatSpinner#setOnItemSelectedListener ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private AppCompatSpinner setDropDownList(int dropDownListId, List<String> data, AdapterView.OnItemSelectedListener itemSelectedListener) {
AppCompatSpinner spinner = mRootView.findViewById( dropDownListId );
if ( spinner == null ) {
return null;
}
ArrayAdapter<String> adapter = new ArrayAdapter<>(getContext(), android.R.layout.simple_spinner_item, data);
adapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item );
spinner.setAdapter( adapter );
if ( itemSelectedListener != null ) {
spinner.setOnItemSelectedListener(itemSelectedListener);
}
return spinner;
}
private AppCompatSpinner addSpinnerData(int spinnerViewId, List<String> list, int curPosition,
AdapterView.OnItemSelectedListener itemSelectedListener) {
if ( list == null ) return null;
ArrayAdapter<String> adapter = new ArrayAdapter<>( this, android.R.layout.simple_spinner_item, list);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
AppCompatSpinner spinner = findViewById( spinnerViewId);
spinner.setAdapter( adapter );
if ( (curPosition >= 0) && ( curPosition < list.size()) ){
spinner.setSelection(curPosition);
}
spinner.setOnItemSelectedListener( itemSelectedListener );
return spinner;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sample_activity);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
mSpinnerDelay = (AppCompatSpinner) findViewById(R.id.spinner_delay);
mSpinnerSlide = (AppCompatSpinner) findViewById(R.id.spinner_slide);
mSpinnerDelay.setAdapter(new ArrayAdapter<>(this, R.layout.spinner, mDelayGravities));
mSpinnerSlide.setAdapter(new ArrayAdapter<>(this, R.layout.spinner, mSlideGravities));
mSpinnerDelay.setSelection(1);
mSpinnerSlide.setSelection(1);
mSpinnerDelay.setOnItemSelectedListener(this);
mSpinnerSlide.setOnItemSelectedListener(this);
mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
mRecyclerView.setAdapter(new Adapter());
startMaterialIn();
}
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
View rootView = LayoutInflater.from(getContext()).inflate(R.layout.dialog_feedback_layout, null);
feedback = feedback == null ? ModelFactory.getFeedback() : feedback;
feedback.setFeedbackType(FeedbackType.ABRUPT_CRASH);
etEmail = rootView.findViewById(R.id.et_email);
TextInputLayout tilEmail = rootView.findViewById(R.id.til_email);
etEmail.addTextChangedListener(new EmailFormatWatcher(tilEmail));
etQuestion = rootView.findViewById(R.id.et_question);
WatcherTextView wtQuestion = rootView.findViewById(R.id.wt_question);
wtQuestion.bindEditText(etQuestion);
AppCompatSpinner spFeedbackTypes = rootView.findViewById(R.id.sp_feedback_types);
spFeedbackTypes.setOnItemSelectedListener(this);
return new AlertDialog.Builder(getContext())
.setTitle(R.string.feedback)
.setView(rootView)
.setPositiveButton(R.string.text_send, (dialog, which) -> {
if (!checkInput()) return;
if (onSendClickListener != null) onSendClickListener.onSend(FeedbackDialog.this, feedback);
})
.setNegativeButton(R.string.text_cancel, null)
.create();
}
private void initSpinner(final AppCompatSpinner sp, List<String> list, String key, final Callback callback) {
if (list == null) return;
Camera.Parameters cameraParameters = mCameraController.getCameraParameters();
final ArrayAdapter<String> adapter = new ArrayAdapter<>(getContext(), android.R.layout.simple_list_item_1, list);
sp.setAdapter(adapter);
sp.setSelection(adapter.getPosition(cameraParameters.get(key)), false);
sp.setOnItemSelectedListener(new SimpleItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
callback.set(adapter.getItem(position));
}
});
}
@Override
public void setupView(View view) {
AppCompatSpinner spinner = (AppCompatSpinner)view.findViewById(R.id.settings_spinner);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(onItemSelectedListener);
if (selectedPos != -1)
spinner.setSelection(selectedPos);
}
/**
* Initializes the spinner for the download filter.
* @param adapter The adapter associated with the spinner.
*/
public void initializeFilterSpinner(FilterAdapter adapter) {
mSpinner = new AppCompatSpinner(this.getContext());
mSpinner.setAdapter(adapter);
mSpinner.setOnItemSelectedListener(adapter);
addView(mSpinner);
}