Android 菜单项未显示为可检查
Android Menu Items don't show as checkable
这是我的 xml 代码
<group
android:id="@+id/group1"
>
<item android:id="@+id/btnNightMode"
android:title="Night Mode"
android:icon="@drawable/night_mode"
android:checkable="true"
android:checked="true"
/>
</group>
这是我的科特林代码
override fun onOptionsItemSelected(item: MenuItem): Boolean {
if (toggle.onOptionsItemSelected(item)) {
return true
}
when (item.itemId) {
R.id.btnNightMode -> {
item.setChecked(false)
if (item.isChecked) {
// If item already checked then unchecked it
item.isChecked = false
toast("la")
} else {
// If item is unchecked then checked it
item.isChecked = true
toast("la")
}
}
}
return super.onOptionsItemSelected(item)
}
由于某种原因,复选框没有出现在项目旁边,有什么帮助吗?它在文档中说我应该以编程方式设置它,所以我做到了,但它仍然没有显示复选框
尝试添加 app:actionViewClass="android.widget.CheckBox"
.
<item
android:id="@+id/btnNightMode"
android:title="Night Mode"
android:icon="@drawable/night_mode"
android:checkable="true"
android:checked="true"
app:actionViewClass="android.widget.CheckBox" />
这是我的 xml 代码
<group
android:id="@+id/group1"
>
<item android:id="@+id/btnNightMode"
android:title="Night Mode"
android:icon="@drawable/night_mode"
android:checkable="true"
android:checked="true"
/>
</group>
这是我的科特林代码
override fun onOptionsItemSelected(item: MenuItem): Boolean {
if (toggle.onOptionsItemSelected(item)) {
return true
}
when (item.itemId) {
R.id.btnNightMode -> {
item.setChecked(false)
if (item.isChecked) {
// If item already checked then unchecked it
item.isChecked = false
toast("la")
} else {
// If item is unchecked then checked it
item.isChecked = true
toast("la")
}
}
}
return super.onOptionsItemSelected(item)
}
由于某种原因,复选框没有出现在项目旁边,有什么帮助吗?它在文档中说我应该以编程方式设置它,所以我做到了,但它仍然没有显示复选框
尝试添加 app:actionViewClass="android.widget.CheckBox"
.
<item
android:id="@+id/btnNightMode"
android:title="Night Mode"
android:icon="@drawable/night_mode"
android:checkable="true"
android:checked="true"
app:actionViewClass="android.widget.CheckBox" />