0

我有一个带有微调器的应用程序,并决定将“微调器”放入 ActionBar,因此我使用了 ActionBarSherlock 中的 ListNavigation,当我单击它时,列表显示,但是当我单击一个项目时,什么也没有发生。

我应该将 ListNavigation 链接到 ArrayAdapter 吗?

谢谢你。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    display = ((WindowManager) this
            .getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();

    setContentView(R.layout.map);

    findViewById(R.id.minus).setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            mapController.zoomOut();
        }
    });

    findViewById(R.id.help).setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            openOptionsMenu();
        }
    });
    prefs = PreferenceManager.getDefaultSharedPreferences(this);
    editor = prefs.edit();

    Log.d(tag, "onCreate");
    timer = new Timer(true);

    // spinner = (Spinner) findViewById(R.id.spinner);
    adapter = NoScrollArrayAdater.createFromResource(this,
            R.array.cityNames, R.layout.sherlock_spinner_item);
    adapter.setDropDownViewResource(R.layout.sherlock_spinner_dropdown_item);
    // spinner.setAdapter(adapter);

    mSelected = getResources().getStringArray(R.array.cityValues);
    mLocations = getResources().getStringArray(R.array.cityNames);

    getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
    getSupportActionBar().setListNavigationCallbacks(adapter, this);
@Override
public boolean onNavigationItemSelected(int itemPosition, long itemId) {
    mSelected("Selected: " + mLocations[itemPosition]);
    return true;
4

1 回答 1

0

您应该阅读 Android 开发者文档中的ActionBar:添加下拉导航文档。

您需要使用设置导航回调,actionBar.setListNavigationCallbacks() 并且需要实现ActionBar.OnNavigationListener

ActionBarSherlock 的支持库ActionBar 方法相同。

编辑:

我不确定你发生了什么NoScrollArrayAdater或你为什么打电话setDropDownViewResource(),但是当我测试你的代码并将其替换为:

SpinnerAdapter adapter = ArrayAdapter.createFromResource(this, R.array.locations,
                  android.R.layout.simple_spinner_dropdown_item);
于 2013-04-12T20:36:31.023 回答