1

フラグメントに webview を実装しようとしています。私はこれを下位互換性 (support.v4.app) で使用しているため、拡張できませんWebViewFragment

私はフラグメントから始めていますが、Webview を使用したことがありません。これがどのようにプログラムされているかよくわかりません。

これは私のレイアウトweb_view.xmlです:

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" 
android:baselineAligned="false">

<WebView
        android:id="@+id/webview_container"
        android:layout_width="fill_parent"        
        android:layout_height="fill_parent" />    

そして、これはWebView クラスです:

public class WebView extends Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View mainView = inflater.inflate(R.layout.web_view, container, false);

        WebView webView = (WebView) mainView.findViewById(R.id.webview_container);  ERROR 1
        webView.getSettings().setJavaScriptEnabled(true);  //ERROR 2
        webView.setWebViewClient(new SwAWebClient());  //ERROR 3
        webView.loadUrl("http://maps.google.com");  //ERROR 4

    return mainView;
}

エラー 1 : ビューから webview にキャストできません

エラー 2 : メソッド getSettings() はタイプ WebView に対して定義されていません

エラー 3 : メソッド setWebViewClient() はタイプ WebView に対して定義されていません

エラー 4 : メソッド loadUrl() はタイプ WebView に対して定義されていません

4

2 に答える 2

2

あなたのクラスは と同じ名前android.webkit.WebViewです。フラグメント名を変更するか、試してください

android.webkit.WebView webView = (android.webkit.WebView) mainView.findViewById(R.id.webview_container);
于 2013-11-14T12:14:43.733 に答える
0

XeNoNの回答に対する代替ソリューション:

android.webkit.WebView をインポートして、クラス名を別の名前に変更してください。

于 2013-11-14T12:27:25.470 に答える