我按照http://developer.android.com/resources/tutorials/views/hello-webview.html上的指南,然后创建了我自己的EditText字段和一个按钮。代码应该解释一下,我的问题是我不断得到“HelloWebViewClient无法解析为类型”错误,有什么建议吗?提前谢谢!
package com.text.text;
import android.app.Activity;
import android.os.Bundle;
import android.text.Editable;
import android.view.View;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;
public class test extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.alt);
final EditText edittext = (EditText) findViewById(R.id.edittext);
final Button button = (Button) findViewById(R.id.okay);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Editable text = edittext.getText();
String Tekst = text.toString();
setContentView(R.layout.main);
WebView mWebView;
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl(Tekst);
mWebView.setWebViewClient(new HelloWebViewClient());
class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
};
}
});
}}
答案 0 :(得分:0)
如果你把那课放在外面怎么办?
public class test extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.alt);
final EditText edittext = (EditText) findViewById(R.id.edittext);
final Button button = (Button) findViewById(R.id.okay);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Editable text = edittext.getText();
String Tekst = text.toString();
setContentView(R.layout.main);
WebView mWebView;
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl(Tekst);
mWebView.setWebViewClient(new HelloWebViewClient());
}
});
}
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
}
答案 1 :(得分:0)
更改
mWebView = (WebView) findViewById(R.id.webview);
到
mWebView = (WebView) test.this.findViewById(R.id.webview);
此外,在Java类名称中应以大写字母开头。
答案 2 :(得分:0)
问题是你在使用它之后申报了你的课程。在类声明之后移动行mWebView.setWebViewClient(new HelloWebViewClient());
。