2011-08-22 6 views
0

에서 나는 자바 스크립트와 웹보기를 만들려고했지만, 나는 오류 얻을 :안드로이드 자바 스크립트는 웹보기

이 전체 코드

인 라인 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"/> 
+0

xml 레이아웃을 볼 수 있습니까? – jondavidjohn

+0

예, 방금 추가했습니다. –

답변

2

나는 당신의 약간 혼란 생각합니다. 당신을 당신이 안드로이드 개발에 새로운 생각

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);  
    } 
+0

효과가있었습니다. 고맙습니다! –

1

, 우리는 활동의 생성자를 정의 DONT :

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); 


    } 

} 

또는 당신이 웹보기 개체를 생성하고 싶다면 : 올바른 활동 구현은 아래를 참조하십시오

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); 


    } 

} 

참고 : 그나마 Y의 이름을 변경하는 방법과 같은onCreate(Bundle icircle);를 오버라이드 (override) 웹보기, 텍스트 뷰와 같은 UiElements의 또는 클래스의 이름으로 우리의 활동 ... 등

1

당신은 활동 의 서브 클래스로 클래스 웹보기를 정의하기 위해 노력하고 있지만 웹보기가 이미 (http://developer.android.com/reference/android/webkit/WebView.html)

보기의 서브 클래스 의 findViewById (..) 메서드는 을 활동에 전송할 수없는보기를 반환합니다.

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을 조정해야 : 당신은 당신의 클래스 이름을 변경해야

이 같은

시도 (? 클래스는 처음에 시작하는 클래스입니다).

관련 문제