[UPDATE]

问题解决了:只需在提交片段之前添加“addToBackStack(null)”:

Fragment fragment = new WebBrowserFragment();

fragment.setArguments(arguments);

FragmentTransaction fragmentTransaction = getActivity().getFragmentManager().beginTransaction();

fragmentTransaction.replace(R.id.content_frame, fragment);

fragmentTransaction.addToBackStack(null);

fragmentTransaction.commit();

这是我片段的代码.当我在这个片段上并点击后退按钮时,我的应用程序将关闭.

我想回到之前加载的片段.

我该怎么做才能强迫这种行为?

public class WebBrowserFragment extends Fragment {

WebView mWebView;

ProgressBar progressB = null;

private String mUrl;

private static String mtitle;

private static String msource;

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

LayoutInflater mInflater = (LayoutInflater) getActivity().getSystemService(Activity.LAYOUT_INFLATER_SERVICE);

View view = (View) mInflater.inflate(R.layout.web_browser_view, null);

MainActivity.setShareButtonToVisible();

Bundle bundle = getArguments();

String url = bundle.getString("URL");

mtitle = bundle.getString("TITRE");

msource = bundle.getString("SOURCE");

mUrl = url;

progressB = (ProgressBar) view.findViewById(R.id.progressBar1);

mWebView = (WebView) view.findViewById(R.id.webViewArticle);

mWebView.setWebChromeClient(new WebChromeClient() {

public void onProgressChanged(WebView view, int progress) {

if(progress < 100 && progressB.getVisibility() == ProgressBar.GONE){

progressB.setVisibility(ProgressBar.VISIBLE);

}

progressB.setProgress(progress);

if(progress == 100) {

progressB.setVisibility(ProgressBar.GONE);

}

}

});

mWebView.loadUrl(url);

return view;

}

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐