android - ListView Kotlin 中的选定项位置

标签 android listview kotlin selecteditem

我试图根据在 listView 上选择的项目在 webView 上加载一些 url,这是我的代码:

val animals = arrayOf("cat","dog", "mouse", "parrot", "lion", "panda")
internal lateinit var adapter: ArrayAdapter<String>

    val list = findViewById(R.id.lista) as ListView
adapter = ArrayAdapter(
this@MainActivity,
android.R.layout.simple_list_item_1,
animals)
list.adapter = adapter

这是我试图让它工作的条件

list.setOnItemClickListener { adapterView, view, i, l ->
        if(list.selectedItemPosition.equals(1)){
        webView.loadUrl("http://cat.com")
                }
        else if (lista.selectedItemPosition.equals(2)) {
            webView.loadUrl("http://dog.com")
        }
                }
        else if (lista.selectedItemPosition.equals(2)) {
            webView.loadUrl("http://mouse.com")
        }
                }
        else if (lista.selectedItemPosition.equals(2)) {
            webView.loadUrl("http://parrot.com")
        }
                }
        else if (lista.selectedItemPosition.equals(2)) {
            webView.loadUrl("http://lion.com")
        }
                }
        else if (lista.selectedItemPosition.equals(2)) {
            webView.loadUrl("http://panda.com")
        }
        else{
            toast("nothing")}

这是我想要的使包含 te webView 的布局可见的按钮:

        testweb.setOnClickListener {
            ListView.visibility= View.GONE
            website.visibility= View.VISIBLE
        }

这是我设置 ListView 的方式:

        <ListView
        android:id="@+id/lista"
        android:layout_width="match_parent"
        android:layout_height="240dp"
        android:focusable="true"
        android:focusableInTouchMode="true"
        android:choiceMode="singleChoice"
        android:listSelector="@android:color/holo_orange_light" >


    </ListView>

到目前为止,我得到的只是 toast 消息“无” xD

提前感谢您的支持

最佳答案

list.setOnItemClickListener { adapterView, view, i, l ->
    when(i){
        0 -> webView.loadUrl("some url")
        1 -> webView.loadUrl("some url")
        .....
    }
}

内部 WebView

 webview.apply{
    settings.javaScriptEnabled = true
    settings.loadWithOverviewMode = true
    settings.useWideViewPort = true
    webViewClient = MyClient()
    loadUrl("http://www.naver.com")
 }


inner class MyClient : WebViewClient() {
    override fun shouldOverrideUrlLoading(view: WebView?, request: 
           WebResourceRequest?): Boolean {
        view?.loadUrl(request?.url?.toString())
        return true
    }
}

关于android - ListView Kotlin 中的选定项位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50849270/

相关文章:

Android - 修改 "Graphical Layout"中的布局后,代码会在滚动时自动更改。如何避免这种情况?

android - 使用 setCameraDisabled (ComponentName admin, boolean disabled) 禁用相机

listview - React-native ListView不显示所有内容,在底部反弹(IOS)

android - 当我在 ListView 中滚动后单击一行时,为什么会出现 CheckedTextView 的 NullPointerException?

android - 无法设置约束组的可见性

java - 如何判断一个对象是同一个还是不同的

android - ListActivity 与 ListView

kotlin - TornadoFX 如何在编辑 TableView 时添加验证

android - 如何在 Android Studio [Kotlin] 中运行一个类中另一个类的函数?

Android 谷歌地图 MapView 上的方向