Reputation: 1640
exi want to load an url in mywebview when the end-user click on 'item1' in the option menu
Here is my code :
package com.exemple.test;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.webkit.WebSettings;
import android.app.AlertDialog;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.setWebViewClient(new WebViewClient());
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
myWebView.loadUrl("http://m.google.com");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.item1:
//AlertDialog alertDialog = new AlertDialog.Builder(this).create();
//alertDialog.setTitle("Reset...");
//alertDialog.setMessage("Are you sure?");
//alertDialog.show();
myWebView.loadUrl("http://m.google.com");
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
Thanks !
Upvotes: 0
Views: 586
Reputation: 82563
Just change
WebView myWebView = (WebView) findViewById(R.id.webview);
to
myWebView = (WebView) findViewById(R.id.webview);
And add the following as a class variable:
WebView myWebView;
So your final code becomes:
public class MainActivity extends Activity {
WebView myWebView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myWebView = (WebView) findViewById(R.id.webview);
myWebView.setWebViewClient(new WebViewClient());
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
myWebView.loadUrl("http://m.google.info"); //You may want to comment this out, as you said you wanted to load it only when the user clicked
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.item1:
//AlertDialog alertDialog = new AlertDialog.Builder(this).create();
//alertDialog.setTitle("Reset...");
//alertDialog.setMessage("Are you sure?");
//alertDialog.show();
myWebView.loadUrl("http://m.google.com");
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
Upvotes: 2