我认为我在理解如何从操作栏调用微调器方面缺少一个重要的部分,考虑到显然回调onItemSelected
和onNothingSelected
显然没有被调用。
有人可以提出一个想法吗?我已经阅读了很多其他问题,但没有找到解决方案。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
// Confifure the spinner for radius selection.
setUpSpinner();
}
/**
* Set up the spinner.
* */
public void setUpSpinner(){
// Instantiate the spinner.
mSpinner = new Spinner(this);
// Create an ArrayAdapter using the string array and a default spinner layout.
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.radius_config, android.R.layout.simple_spinner_item);
// Specify the layout to use when the list of choices appears.
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Apply the adapter to the spinner
mSpinner.setAdapter(adapter);
mSpinner.setOnItemSelectedListener(this);
}
/**
* Called when the user pressed the menu button.
* */
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu items for use in the action bar.
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_activity_actions, menu);
return super.onCreateOptionsMenu(menu);
}
/**
* Called when the user clicks at an item on the menu.
* */
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle presses on the action bar items
switch (item.getItemId()) {
case R.id.radius_config:
mSpinner.performClick();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
/**
* Spinner callback, when an item on the spinner is clicked.
* */
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Log.d("map values", "Position: " + position);
}
/**
* Spinner callback, when no iten is selected.
* */
@Override
public void onNothingSelected(AdapterView<?> parent) {
Log.d("map values", "Nothing");
}