Hallo Ich habe eine Android-App, die eine recycleview
. Wenn Benutzer auf eine viewholder
button
klicken. App startet eine webview
(innerhalb fragment
). Ich möchte behandeln, wenn Benutzer klicken zurück, webview
wird zurückgehen, wenn es einen Verlauf gibt, und wenn es keinen Verlauf gibt, wird die App das webview
Fragment schließen und die recycleview
zurückkommen.webview fragment zurück zu
Ich habe erfolgreich den Rücken zu behandeln, wenn es eine Geschichte ist (aber Webansicht kann nicht zurückkommen Ansicht aufzubereiten, wenn es keine Geschichte ist
Hier ist mein webview Code
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;
}
});
Alles falsch mit diesen Code? jede Hilfe ist sehr zu schätzen weiß. Dank
Bearbeiten ich benutze diesen Code in recycleview
adapter
Klasse Taste auf ViewHolder
Klasse zu behandeln
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();
}
}
});
werden Sie das Fragment in derselben Aktivität mit dem Ihr recyclerview ther ist ?? oder Sie verwenden separate Aktivität für Fragment. –
Hallo Danke für Ihre Antwort. Ich habe die Frage bearbeitet. Ich setze Knopfgriff in den recycleView Adapter ViewHolder Klasse –
((FragmentActivity) Kontext) .getSupportFragmentManager(). BeginTransaction() .add (R.id.item_detail_container, topStoryWebViewFragment) // Fügen Sie diese Transaktion zum Backstack hinzu (name ist ein optionaler Name für diesen Back-Stack-Status oder null). .addToBackStack (null) . Commit(); –