在Action Bar Android上添加Checkbox

Pra*_*ora 4 checkbox android android-actionbar

我在操作栏上添加复选框时出现问题,它没有显示操作栏上的复选框仅显示复选框标题.

`

<item
    android:id="@+id/action_settings"
    android:orderInCategory="100"
    android:showAsAction="never"
    android:title="@string/action_settings"/>
<item
    android:id="@+id/action_delete"
    android:icon="@drawable/ic_action_discard"
    android:showAsAction="always"
    android:title=""/>
<item
    android:id="@+id/check_all"
    android:actionViewClass="android.widget.checkbox"
    android:showAsAction="always"
    android:title="@string/action_check"/>
<item
    android:id="@+id/action_add"
    android:icon="@drawable/ic_action_add"
    android:showAsAction="always"
    android:title="@string/action_add"/>
Run Code Online (Sandbox Code Playgroud)

"这是我的menu.XML

Joa*_*huk 7

接受的答案不适合我. Checkable标签做了诀窍:

<item
    android:id="@+id/check_all"
    android:checkable="true"
    android:showAsAction="always"
    android:title="@string/action_check"/>
Run Code Online (Sandbox Code Playgroud)

然后在对其进行膨胀的Activity中,你应该有这样的东西来反映已检查状态的变化(否则即使按下它也不会改变所选状态):

public boolean onOptionsItemSelected(MenuItem item) {

    switch(item.getItemId()){
        case R.id.check_all:
            item.setChecked(!item.isChecked());

            return true;
    }
}
Run Code Online (Sandbox Code Playgroud)


Ars*_*ail 6

您需要更改android:actionViewClass="android.widget.checkbox" to android:actionViewClass="android.widget.CheckBox" 以便android可以识别复选框实际的类名.