Android工具栏点击运行所有任务

时间:2015-08-17 19:06:31

标签: android android-actionbar android-appcompat

我有一个Android应用,工具栏上有几个图标。当我单击图标R.id.barcode时,它会运行,但它也会调用refreshList方法,该方法设置为在工具栏上单击其他图标时运行。

public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();

    //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) {
        return true;
    }

    switch (item.getItemId()) {
        case R.id.barcode:
            Intent i = new Intent(MainActivity.this, BarcodeScanner.class);
            startActivity(i);

        case R.id.refresh:
            refreshList();

    }
    return super.onOptionsItemSelected(item);
}

我无法找到我出错的地方,因为其他结果,例如1正在将此作为案例陈述,但我不明白为什么会这样做没有按预期工作。

1 个答案:

答案 0 :(得分:1)

您需要在每个break;语句中添加case个语句。

来自文档:

  

匹配的case标签之后的所有语句都按顺序执行,而不管后续case标签的表达式如何,直到遇到break语句。

请参阅示例here