Android 在适配器中使用Webview
我的应用程序有选项卡,一个选项卡包含一个片段。片段中有一个cardview。我想当我点击cardview时,我想让webview像这样工作,但我得到了一个错误。 My webview.xmlAndroid 在适配器中使用Webview,android,webview,android-webview,android-adapter,Android,Webview,Android Webview,Android Adapter,我的应用程序有选项卡,一个选项卡包含一个片段。片段中有一个cardview。我想当我点击cardview时,我想让webview像这样工作,但我得到了一个错误。 My webview.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertica
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<WebView
android:id="@+id/mywebview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
错误
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.oguz.topluluk, PID: 3449
java.lang.NullPointerException
at com.example.oguz.topluluk.WebDataAdapter$ContentViewHolder$1.onClick(WebDataAdapter.java:113)
at android.view.View.performClick(View.java:4438)
at android.view.View$PerformClick.run(View.java:18422)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
我怎样才能修好它?我不熟悉安卓系统。你能指导我吗?我解决了这个问题。我发现我没有启动webview可能还有其他原因,因为这个原因,我出现了错误。经过几次修改后,代码的最终状态是这样的
@Override
public void onBindViewHolder(final ContentViewHolder contentViewHolder, int i) {
contentViewHolder.theCard.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
/*...*/
WebView mWebView =new WebView(context);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl(wb.link);
}
});
}
在另一个函数中定义上下文
private Context context;
private List<WebDataInfo> dataList;
public WebDataAdapter(Context context, List<WebDataInfo> dataList) {
this.context=context;
this.dataList = dataList;
}
私有上下文;
私有列表数据列表;
公共WebDataAdapter(上下文,列表dataList){
this.context=context;
this.dataList=dataList;
}
我希望这有帮助
private Context context;
private List<WebDataInfo> dataList;
public WebDataAdapter(Context context, List<WebDataInfo> dataList) {
this.context=context;
this.dataList = dataList;
}