没有为参数'function'传递值



我正在Android应用程序中制作Web视图,并希望实现滑动刷新手势。 但由于一个错误而无法通过。swipe.setOnRefreshListener(SwipeRefreshLayout.OnRefreshListener(((应该将什么参数传递给此函数?

这是我的主要活动.kt文件


var mWebView : WebView? = null
abstract class MainActivity : AppCompatActivity() {

lateinit var swipe:SwipeRefreshLayout

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
swipe = findViewById(R.id.swipe) as SwipeRefreshLayout
**swipe.setOnRefreshListener(SwipeRefreshLayout.OnRefreshListener())**
run {
val onRefresh:Unit
run({ Loadweb() })
}
}


fun Loadweb() {
mWebView = findViewById<View>(R.id.webView) as WebView
mWebView!!.webViewClient = object : WebViewClient () {
override fun shouldOverrideUrlLoading(view: WebView?, url: String?): Boolean {
view?.loadUrl(url)
return true
}
}
val webSettings = mWebView!!.getSettings()
webSettings.setJavaScriptEnabled(true)
webSettings.setUseWideViewPort(true)
mWebView!!.loadUrl("http://allnumber.info/")
}

override fun onBackPressed() {
if (mWebView!!.canGoBack()){
mWebView!!.goBack()
}
else {
super.onBackPressed()
}
}}

这是错误消息

没有为参数"函数"传递任何值

试试这段代码

private lateinit var mHandler: Handler
private lateinit var mRunnable:Runnable     
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Initialize the handler instance
mHandler = Handler()
swipe = findViewById(R.id.swipe) as SwipeRefreshLayout
swipe.setOnRefreshListener{
mRunnable = Runnable {
Loadweb()
swipe_refresh_layout.isRefreshing = false
}
// Execute the task after specified time
mHandler.postDelayed(
mRunnable,
(randomInRange(1,5)*1000).toLong() // Delay 1 to 5 seconds
)
}
}

}

我认为你应该通过(object:SwipeRefreshLayout.OnRefreshListener(){ //override methods })

最新更新