0
也許這就像一個重複的問題:Android: Sherlock action bar drop down,但得到的答覆並沒有解決我的問題安卓:福爾摩斯操作欄下拉菜單,自定義視圖
我想實現一個下拉菜單福爾摩斯動作條帶像這樣的自定義初始視圖:
我的代碼可以成功創建爲我想要的,但是當我點擊該項目時,「onNavigationItemSelected」功能並沒有收到任何
我的代碼清單:
public void someFunction(){
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setIcon(R.drawable.edit_done);
getSupportActionBar().setNavigationMode(com.actionbarsherlock.app.ActionBar.NAVIGATION_MODE_LIST);
final String[] choices = {"Select all"};
CustomSpinnerAdapter spinnerAdapter = new CustomSpinnerAdapter(MainActivity.getInstance(), android.R.layout.simple_spinner_dropdown_item, choices);
getSupportActionBar().setListNavigationCallbacks(spinnerAdapter, this);
spinnerAdapter.setDropDownViewResource(R.layout.sherlock_spinner_dropdown_item);
}
@Override
public boolean onNavigationItemSelected(int itemPosition, long itemId) {
Log.d("OUTPUT", "selected menu position:" + itemPosition);
return true;
}
private class CustomSpinnerAdapter extends ArrayAdapter<String> implements SpinnerAdapter {
private LayoutInflater layoutInflater;
public CustomSpinnerAdapter(Context context, int textViewResourceId, String[] values) {
super(context, textViewResourceId, values);
this.layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
return imageview1;
}
@Override
public View getDropDownView(int position, View convertView,
ViewGroup parent) {
convertView = layoutInflater.inflate(R.layout.sherlock_spinner_dropdown_item, parent, false);
((TextView)convertView).setText("Select all");
return convertView;
}
}
,你可以看到,在日誌中「onNavigationItemSelected」只出現一次當「somefunction」之稱,在這之後,你不會看到任何日誌,當您點擊列表中的項目
希望有人能解決我的問題