嗨,我有一個Android應用程序,其中一個recycleview
。當用戶點擊一個button
在回收viewholder
。應用程序將啓動webview
(在fragment
之內)。當用戶點擊後退按鈕時,我想要處理,如果有歷史記錄,webview
會咕and,如果沒有歷史記錄,應用程序將關閉webview
片段並返回recycleview
。webview片段按回去
我都有成功處理回時,有一個歷史(但WebView中不能回來,如果沒有歷史
這裏回收觀點是我的WebView代碼
webView.setOnKeyListener(new View.OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if (webView.canGoBack()) {
webView.goBack();
}else {
getActivity().getSupportFragmentManager().popBackStack();
}
return true;
}
return false;
}
});
什麼不對這些代碼?任何幫助是非常讚賞。謝謝
編輯我使用內部recycleview
adapter
類,這些代碼來處理按鈕點擊ViewHolder
類
url.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Bundle bundle = new Bundle();
bundle.putString("topStoryUrl", topStories.get(getLayoutPosition()).getUrl());
TopStoryWebView topStoryWebViewFragment = new TopStoryWebView();
topStoryWebViewFragment.setArguments(bundle);
if (ItemListActivity.mTwoPane) {
((FragmentActivity) context).getSupportFragmentManager()
.beginTransaction()
.add(R.id.item_detail_container, topStoryWebViewFragment)
.commit();
} else {
topStoryWebViewFragment.setArguments(bundle);
((FragmentActivity) context).getSupportFragmentManager()
.beginTransaction()
.add(R.id.frameLayout, topStoryWebViewFragment)
.commit();
}
}
});
您使用在同一活動的片段在您recyclerview的療法?或者您正在使用單獨的片段活動。 –
嗨,謝謝你的回覆。我編輯了這個問題。我把按鈕把手裏面recycleView適配器ViewHolder類 –
((FragmentActivity)上下文).getSupportFragmentManager()。beginTransaction() .add(R.id.item_detail_container,topStoryWebViewFragment) //將此事務添加到後端堆棧(名稱是此後退堆棧狀態的可選名稱,或null)。 .addToBackStack(null) .commit(); –