Android WebView returns 奇怪的错误
Android WebView returns weird error
我正在尝试创建一个简单的浏览器应用程序。这是我的代码:
package com.degstu.ultralightbrowser;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.webkit.WebView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends ActionBarActivity {
private Button button;
//@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
//Code for "GO" button
public void sendURL(View view) {
TextView textURL;
textURL = (TextView) findViewById(R.id.textBoxURL);
WebView webView = new WebView(this);
webView.loadUrl(textURL.toString());
setContentView(webView);
}
}
一切正常,但是,当我在应用程序中按 "GO" 时,我看到 this。
我的代码中没有发现任何错误,如有任何帮助,我们将不胜感激。
显然,您要访问的 url 无效(它以 "andorid.support.v7..." 开头,这是一个包含 TextView 对象的简明、人类可读描述的字符串)。要获取 TextView 的文本,您应该使用 getText() 来 return TextView 显示的文本。
webView.loadUrl(textURL.getText().toString());
首先,避免extends ActionBarActivity
。使用Activity or AppCompatActivity
。
为什么
自版本 22.1.0 起,class ActionBarActivity
已弃用。你应该使用 AppCompatActivity ORActivity
.
请像这样更新您的代码
TextView textURL;
textURL = (TextView) findViewById(R.id.textBoxURL);
WebView webView = new WebView(this);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl(textURL.getText().toString());
有关详细信息,请访问此处Android - WebView Tutorial
和 https://developer.android.com/reference/android/webkit/WebView.html
希望对你有所帮助
我正在尝试创建一个简单的浏览器应用程序。这是我的代码:
package com.degstu.ultralightbrowser;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.webkit.WebView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends ActionBarActivity {
private Button button;
//@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
//Code for "GO" button
public void sendURL(View view) {
TextView textURL;
textURL = (TextView) findViewById(R.id.textBoxURL);
WebView webView = new WebView(this);
webView.loadUrl(textURL.toString());
setContentView(webView);
}
}
一切正常,但是,当我在应用程序中按 "GO" 时,我看到 this。 我的代码中没有发现任何错误,如有任何帮助,我们将不胜感激。
显然,您要访问的 url 无效(它以 "andorid.support.v7..." 开头,这是一个包含 TextView 对象的简明、人类可读描述的字符串)。要获取 TextView 的文本,您应该使用 getText() 来 return TextView 显示的文本。
webView.loadUrl(textURL.getText().toString());
首先,避免extends ActionBarActivity
。使用Activity or AppCompatActivity
。
为什么
自版本 22.1.0 起,class ActionBarActivity
已弃用。你应该使用 AppCompatActivity ORActivity
.
请像这样更新您的代码
TextView textURL;
textURL = (TextView) findViewById(R.id.textBoxURL);
WebView webView = new WebView(this);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl(textURL.getText().toString());
有关详细信息,请访问此处Android - WebView Tutorial 和 https://developer.android.com/reference/android/webkit/WebView.html
希望对你有所帮助