1

我正在尝试在片段中实现 CordovaWebView (2.2.0),但在尝试扩展布局时它返回错误。

我的xml:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_width="fill_parent"
         android:layout_height="fill_parent">

<org.apache.cordova.CordovaWebView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id = "@+id/mainView"/>

</FrameLayout>

我的 onCreateView:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {

    View v = inflater.inflate(R.layout.cordovawebview, container); // <--- the error occurs here!

    return v;
}

错误:

10-25 15:52:02.839: ERROR/AndroidRuntime(2878): FATAL EXCEPTION: main android.view.InflateException: Binary XML file line #21: Error inflating class org.apache.cordova.CordovaWebView NullPointerException CordovaWebView.java 行 691

int id = getResources().getIdentifier("config", "xml", this.cordova.getActivity().getPackageName());

似乎资源在这里为空。

我已经检查过了,config.xml 文件在 xml 文件夹中。

我可以在 FragmentActivity 中实现它,但我需要在 Fragment 中实现它。

有任何想法吗?

提前致谢。

4

2 回答 2

2
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {

    View v = inflater.inflate(R.layout.cordovawebview, container, false); // <--- add false parameter
    CordovaWebView webView = (CordovaWebView)v.findViewById(R.id.mainView);

    return v;
}
于 2013-08-08T15:30:08.153 回答
1

需要在片段所在的活动以及片段本身上创建 CordovaWebViews。您可以创建自己的 ContextWrapper 并将其提供给您的充气机来为您处理此操作。

这是有关如何做到这一点的分步指南:https ://github.com/Adobe-Marketing-Cloud/app-sample-android-phonegap/wiki/Embed-Webview-in-Android-Fragment

于 2015-01-14T21:19:27.583 回答