Android JavaScript в WebView - PullRequest
       1

Android JavaScript в WebView

0 голосов
/ 22 августа 2011

Я пытался создать веб-просмотр с JavaScript, но я получаю ошибку:

«Невозможно привести представление из WebView» в строке WebView myWebView = (WebView) findViewById(R.id.mainWebView);

Это полный код

package com.CalvaryChapelMelbourne.CCM;

import android.app.Activity;
import android.webkit.WebSettings;

public class WebView extends Activity {
    WebView webview;
    public WebView() {
        WebView myWebView = (WebView) findViewById(R.id.mainWebView);
        WebSettings webSettings = myWebView.getSettings();
        webSettings.setJavaScriptEnabled(true);


    }

}

XML-макет:

<?xml version="1.0" encoding="utf-8"?>
<WebView  xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
android:id="@+id/mainWebView"/>

Ответы [ 3 ]

2 голосов
/ 22 августа 2011

Я думаю, что вы немного смущены. Ниже приведена правильная реализация Действия:

package com.CalvaryChapelMelbourne.CCM;

import android.app.Activity;
import android.webkit.WebSettings;

public class WebViewActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        WebView myWebView = (WebView) findViewById(R.id.mainWebView);
        WebSettings webSettings = myWebView.getSettings();
        webSettings.setJavaScriptEnabled(true);


    }

}

или, если вы хотите создать объект WebView:

public WebView(Context context) {
        LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        WebView myWebView = (WebView) inflater.inflate(R.layout.mainWebView, null); // The xml file name not the id
        WebSettings webSettings = myWebView.getSettings();
        webSettings.setJavaScriptEnabled(true);    
    }
1 голос
/ 22 августа 2011

Вы пытаетесь определить класс WebView как подкласс Activity, но WebView уже является подклассом View (http://developer.android.com/reference/android/webkit/WebView.html)

Метод findViewById (..) Activity вернет представление, которое вы не можете привести к Activity.

Вы должны переименовать свой класс (это тот класс, который вы запускаете в начале?)

Попробуйте сделать так:

public class MyWebViewActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        WebView myWebView = (WebView) findViewById(R.id.mainWebView);
        WebSettings webSettings = myWebView.getSettings();
        webSettings.setJavaScriptEnabled(true);
    }
}

Вы также должны настроить свой AndroidManifest.xml.

1 голос
/ 22 августа 2011

Я думаю, что вы новичок в разработке Android, Мы НЕ ОПРЕДЕЛЯЕМ КОНСТРУКТОРА ДЕЯТЕЛЬНОСТИ, вы должны переопределить метод onCreate(Bundle icircle); следующим образом:

public class MyActivity extends Activity {
    WebView webview;
@Override
    public void onCreate(Bundle icircle) {
        super(icircle);
        this.setContentView(R.layout.main);
        WebView = (WebView) findViewById(R.id.mainWebView);
        WebSettings webSettings = WebView.getSettings();
        webSettings.setJavaScriptEnabled(true);


    }

}

: Не переименовывайте свои действия с именами элементов UIElement или классов, таких как WebView, TextView ... и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...