我在MainActivity中的程式码:
val buttonbckbrowse = findViewById<Button>(R.id.buttonbck)
buttonbckbrowse.setOnClickListener {
val webView = findViewById<WebView>(R.id.webViewBrowse)
webView.goBack()
Toast.makeText(baseContext, "Back", Toast.LENGTH_SHORT).show()
}
buttonbck在不同的片段中。
尝试运行我的应用程序时,我收到“异常:尝试在上述代码的第二行中对空对象引用“”调用虚拟方法“void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)”。
我不知道我做错了什么。
1条答案
按热度按时间ryevplcw1#
让一个Activity直接访问一个片段的视图总是会导致复杂化。我建议你重新考虑你的方法。
包含该按钮的片段应设置单击侦听器。当单击该按钮时,该片段将事件引发到与宿主Activity共享的对象。(类似于WebViewNavigation)然后,宿主活动可以只在WebViewNavigation上设置一个单击侦听器,或者WebViewNavigation可以在事件以流的形式发生时进行通知(使用LiveData),并且Activity可以观察该事件流。