我想通过浏览器打开网址但是当我点击按钮时它没有打开网址请告诉我哪里弄错了。 这是java文件的代码。
public class MainActivity extends AppCompatActivity {
Button button;
EditText editText;
WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button)findViewById(R.id.but);
editText = (EditText)findViewById(R.id.edittext);
webView = (WebView)findViewById(R.id.webView);
}
public void Goo(View view){
String url = editText.getText().toString();
webView.getSettings().setLoadsImagesAutomatically(true);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl(url);
}
}
这里是xml文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Enter url"
android:id="@+id/textView"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/edittext"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="Goo"
android:text="Go"
android:id="@+id/but"
/>
<WebView
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:id="@+id/webView" />
</LinearLayout>
答案 0 :(得分:2)
在活动中,只需复制粘贴以下代码......
public class MainActivity extends AppCompatActivity {
Button button1, button2;
EditText editText;
WebView webView;
String url;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button1 = (Button)findViewById(R.id.but);
button2 = (Button)findViewById(R.id.but1);
editText = (EditText)findViewById(R.id.edittext);
webView = (WebView)findViewById(R.id.webView);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
url=editText.getText().toString();
url="http://"+url;
loadUrl(url);
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
url="http://www.stackoverflow.com";
loadUrl(url);
}
});
}
public void loadUrl(String url) {
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setUseWideViewPort(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setDomStorageEnabled(true);
webView.setVisibility(View.VISIBLE);
webView.loadUrl(url);
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
}
}
并在清单文件中.. 添加这两行..
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
在xml中,我补充说,
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Go"
android:id="@+id/but"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="fb"
android:id="@+id/but1"
/>
答案 1 :(得分:0)
试试这个。在onCreate
:
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// call your Goo method here
}
});