私は、ViewPager
各ビューが である を持っていWebView
ます。[ Actionbar
I have a] メニュー項目では、ユーザーは次のコードを使用して既定のブラウザーで Web ページを開くことができます。
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(mUrl)));
ただし、ユーザーが のリンクをクリックし、WebView
既定のブラウザーでサイトを開き、アプリに戻ると、クリックしたページではなく、元の Web ページが表示されます。startActivityForResult
の代わりに使用することを考えましstartActivity
たが、それは自分のアプリで新しいアクティビティを開いた場合にのみ機能しますよね?
これは私のコードですViewPager
:
断片
public class Browser extends SherlockFragment {
private String mUrl;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
activity = getActivity();
setHasOptionsMenu(true);
mUrl = GetUrl();
mWebView = (WebView)getView().findViewById(R.id.webview);
mWebView.loadUrl(mUrl);
mWebView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
}
@Override
public boolean onOptionsItemSelected(final MenuItem item)
{
if (item.getItemId() == R.id.open) {
this.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(mUrl)));
return true;
} else {
return super.onOptionsItemSelected(item);
}
}
}
アクティビティ
public class BrowserPager extends SherlockFragmentActivity implements Interfaces.OnBrowserSetTitle {
@Override
public void onCreate(final Bundle icicle)
{
super.onCreate(icicle);
setContentView(R.layout.browser_pager);
}
}