嗨,我正在努力做到这一点:
button.setOnClickListener {
if (list1.choiceMode == android.widget.ListView.CHOICE_MODE_NONE){
toast("You need to choose an item first")
}
else {
val builder = AlertDialog.Builder(this)
builder.setTitle("Alert")
builder.setMessage("This service requires data?")
builder.setPositiveButton("Yes", { dialogInterface: DialogInterface, i: Int ->
ListView.visibility = View.GONE
website.visibility = View.VISIBLE
})
builder.setNegativeButton("No", { dialogInterface: DialogInterface, i: Int -> })
builder.show()
}
}
我试图在用户按下按钮时显示一条消息,但他没有从列表中选择任何项目。如果一切正常,我希望它可以将listView可见性设置为不可见,并将网站可见性设置为可见。
按下按钮时我得到的只是吐司消息。
已编辑:
val nameofanimals = arrayOf("cat","dog","parrot")
internal lateinit var adapteranimals: ArrayAdapter<String>
这是我的清单:
val list1 = findViewById(R.id.list1) as ListView
<ListView
android:id="@+id/list1"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:choiceMode="singleChoice"
android:focusable="true"
android:focusableInTouchMode="true"
android:listSelector="@android:color/darker_gray"
android:textSize="10dp"
android:visibility="gone">
</ListView>
我的适配器:
adapteranimals = ArrayAdapter(
this@MainActivity,
R.layout.list1layout,
nameofanimals)
list1.adapter = adapteranimals
现在,当我没有选择任何猫,狗或鹦鹉时,我需要显示一条祝酒消息,并想将Webviewer和listview布局的可见性设置为可见,而当用户实际选择其中的一个选项时就消失了。我的清单
答案 0 :(得分:0)
为了使您的项目在列表中可以选择,您需要在列表视图上调用两种关键方法。
在button.setOnClickListener
之前添加这两行
list1.setItemsCanFocus(false);
list1.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
然后在您的onClickListener
内执行此操作:
Object selectedObj = list1.getSelectedItem();
if (selectedObj == null) {
showToast();
} else {
doSomethingElse();
}