listView とカスタム アダプターがあり、onclicklistener をテキスト ビューに作成しました。そのテキスト ビューからのリンクを Web ビューで開きたいのですが、どうすればよいですか?
質問する
680 次
1 に答える
0
多くの調査の後、私は答えを見つけました。それは本当に簡単でした. カスタム アダプター クラスで onclickListener を設定する必要があります。それだけで、intent.putextra(); を使用してそのクラスに文字列を送信する Web ビューを表示するクラスを作成します。私がwebviewを表示しているクラスはこれです
public class Main extends Activity {
WebView myWebView;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.webview);
Intent in = getIntent();
String url = in.getStringExtra(("url"));
myWebView = (WebView) findViewById(R.id.webview);
myWebView.getSettings().setBlockNetworkImage(true);
myWebView.getSettings().setBlockNetworkLoads(true);
myWebView.setWebViewClient(new WebViewClient());
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setBuiltInZoomControls(true);
myWebView.getSettings().setDomStorageEnabled(true);
myWebView.getSettings().setPluginState(PluginState.ON);
myWebView.getSettings().setUserAgentString("Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3");
myWebView.loadUrl(url);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && myWebView.canGoBack()) {
myWebView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
class MyWebViewClient extends WebViewClient {
@Override
// show the web page in webview but not in web browser
public boolean shouldOverrideUrlLoading(WebView view, String url) {
//1 option
getApplicationContext().startActivity(
new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
// 2 option
view.loadUrl(url);
return true;
}
}
}
于 2013-05-01T12:06:58.510 に答える