如何制作菜单项(单个)重置按钮?
how can i make menu item (single) reset button?
我想制作重置按钮。
当我点击重置按钮时,ischecked
将被设置为 false for R.id.item1, R.id.item2 和 R.id.item3.
当我点击按钮时,我想将 Group 'Mmenu' 勾选为 false
我在 onCreateOptionsMenu(menu: Menu)
中尝试了 button.setOnClickListener(){item.isChecked = false}
但是没用...
我在后面尝试了同样的事情 when (item.itemId) {R.id.itemRotate ->
但也没用...
class MainActivity : AppCompatActivity() {
public override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
title = "제주도 풍경"
button.setOnClickListener(){
imageView1.visibility = View.INVISIBLE
imageView1.rotation = Float.parseFloat("0")
edtAngle.setText("0")
}
}
override fun onCreateOptionsMenu(menu: Menu): Boolean {
super.onCreateOptionsMenu(menu)
val mInflater = menuInflater
mInflater.inflate(R.menu.menu1, menu)
return true
}
override fun onOptionsItemSelected(item: MenuItem) : Boolean {
when (item.itemId) {
R.id.itemRotate -> {
imageView1.visibility = View.VISIBLE
imageView1.rotation = Float.parseFloat(edtAngle.text.toString())
return true
}
R.id.item1 -> {
imageView1.visibility = View.VISIBLE
imageView1.setImageResource(R.drawable.jeju2)
item.isChecked = true
return true
}
R.id.item2 -> {
imageView1.visibility = View.VISIBLE
imageView1.setImageResource(R.drawable.jeju14)
item.isChecked = true
return true
}
R.id.item3 -> {
imageView1.visibility = View.VISIBLE
imageView1.setImageResource(R.drawable.jeju6)
item.isChecked = true
return true
}
}
return false
}
}
您可以使用 HashMap 执行此操作:
var checked: HashMap<Int, Boolean> = HashMap()
初始化为假
val ids = listOf(R.id.item1, R.id.item2, R.id.item3)
ids.forEachIndexed { index, _ ->
checked[index] = false
}
然后
when (item.itemId) {
R.id.itemRotate -> {
imageView1.visibility = View.VISIBLE
imageView1.rotation = Float.parseFloat(edtAngle.text.toString())
return true
}
R.id.item1 -> {
imageView1.visibility = View.VISIBLE
imageView1.setImageResource(R.drawable.jeju2)
checked[item.itemId] = true
return true
}
R.id.item2 -> {
imageView1.visibility = View.VISIBLE
imageView1.setImageResource(R.drawable.jeju14)
checked[item.itemId] = true
return true
}
R.id.item3 -> {
imageView1.visibility = View.VISIBLE
imageView1.setImageResource(R.drawable.jeju6)
checked[item.itemId] = true
return true
}
}
重置:
fun reset() {
ids.forEachIndexed { index, _ ->
checked[index] = false
}
}
在这里被调用:
button.setOnClickListener(){
imageView1.visibility = View.INVISIBLE
imageView1.rotation = Float.parseFloat("0")
edtAngle.setText("0")
reset()
}
无效选项菜单()
这是重置的解决方案!!
我想制作重置按钮。
当我点击重置按钮时,ischecked
将被设置为 false for R.id.item1, R.id.item2 和 R.id.item3.
当我点击按钮时,我想将 Group 'Mmenu' 勾选为 false
我在 onCreateOptionsMenu(menu: Menu)
中尝试了 button.setOnClickListener(){item.isChecked = false}
但是没用...
我在后面尝试了同样的事情 when (item.itemId) {R.id.itemRotate ->
但也没用...
class MainActivity : AppCompatActivity() {
public override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
title = "제주도 풍경"
button.setOnClickListener(){
imageView1.visibility = View.INVISIBLE
imageView1.rotation = Float.parseFloat("0")
edtAngle.setText("0")
}
}
override fun onCreateOptionsMenu(menu: Menu): Boolean {
super.onCreateOptionsMenu(menu)
val mInflater = menuInflater
mInflater.inflate(R.menu.menu1, menu)
return true
}
override fun onOptionsItemSelected(item: MenuItem) : Boolean {
when (item.itemId) {
R.id.itemRotate -> {
imageView1.visibility = View.VISIBLE
imageView1.rotation = Float.parseFloat(edtAngle.text.toString())
return true
}
R.id.item1 -> {
imageView1.visibility = View.VISIBLE
imageView1.setImageResource(R.drawable.jeju2)
item.isChecked = true
return true
}
R.id.item2 -> {
imageView1.visibility = View.VISIBLE
imageView1.setImageResource(R.drawable.jeju14)
item.isChecked = true
return true
}
R.id.item3 -> {
imageView1.visibility = View.VISIBLE
imageView1.setImageResource(R.drawable.jeju6)
item.isChecked = true
return true
}
}
return false
}
}
您可以使用 HashMap 执行此操作:
var checked: HashMap<Int, Boolean> = HashMap()
初始化为假
val ids = listOf(R.id.item1, R.id.item2, R.id.item3)
ids.forEachIndexed { index, _ ->
checked[index] = false
}
然后
when (item.itemId) {
R.id.itemRotate -> {
imageView1.visibility = View.VISIBLE
imageView1.rotation = Float.parseFloat(edtAngle.text.toString())
return true
}
R.id.item1 -> {
imageView1.visibility = View.VISIBLE
imageView1.setImageResource(R.drawable.jeju2)
checked[item.itemId] = true
return true
}
R.id.item2 -> {
imageView1.visibility = View.VISIBLE
imageView1.setImageResource(R.drawable.jeju14)
checked[item.itemId] = true
return true
}
R.id.item3 -> {
imageView1.visibility = View.VISIBLE
imageView1.setImageResource(R.drawable.jeju6)
checked[item.itemId] = true
return true
}
}
重置:
fun reset() {
ids.forEachIndexed { index, _ ->
checked[index] = false
}
}
在这里被调用:
button.setOnClickListener(){
imageView1.visibility = View.INVISIBLE
imageView1.rotation = Float.parseFloat("0")
edtAngle.setText("0")
reset()
}
无效选项菜单()
这是重置的解决方案!!