Saya memiliki aplikasi WebView
tempat saya menampilkan beberapa situs web. Ini berfungsi, mengklik tautan di halaman web menuju halaman berikutnya di situs web di dalam aplikasi saya. Tetapi ketika saya mengklik tombol kembali ponsel, itu membawa saya langsung ke aplikasi saya. Saya ingin kembali ke halaman sebelumnya di situs web. Bagaimana saya bisa melakukan ini?
Berikut ini contoh kode yang saya gunakan:
public class Webdisplay extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
setContentView(R.layout.webdisplay);
getWindow().setFeatureInt(Window.FEATURE_PROGRESS,
Window.PROGRESS_VISIBILITY_ON);
Toast loadingmess = Toast.makeText(this,
"Cargando El Diario de Hoy", Toast.LENGTH_SHORT);
loadingmess.show();
WebView myWebView;
myWebView = (WebView) findViewById(R.id.webview);
myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.loadUrl("http://www.elsalvador.com");
myWebView.setWebViewClient(new WebViewClient());
myWebView.setInitialScale(1);
myWebView.getSettings().setBuiltInZoomControls(true);
myWebView.getSettings().setUseWideViewPort(true);
final Activity MyActivity = this;
myWebView.setWebChromeClient(new WebChromeClient()
{
public void onProgressChanged(WebView view, int progress)
{
MyActivity.setTitle("Loading...");
MyActivity.setProgress(progress * 100);
if(progress == 100)
MyActivity.setTitle(R.string.app_name);
}
});
}
}
android
android-webview
zvzej
sumber
sumber
Jawaban:
Saya menggunakan sesuatu seperti ini dalam kegiatan saya dengan WebViews:
Edit:
Agar kode ini berfungsi, Anda perlu menambahkan bidang ke yang
Activity
berisi WebView:Inisialisasi dalam
onCreate()
metode dan Anda harus baik-baik saja.sumber
finish()
putreturn super.onKeyDown(keyCode, event)
else
blokJika menggunakan Android 2.2 dan lebih tinggi (yang merupakan sebagian besar perangkat sekarang), kode berikut akan memberi Anda apa yang Anda inginkan.
sumber
android:noHistory="true"
atribut di yang<activity>
Anda inginkan, di AndroidManifest.xmlreturn;
? Itu ada dalam panduan pelatihan .Ini solusi saya. Ia bekerja juga di Fragment.
sumber
Referensi lengkap untuk tombol dan bilah kemajuan berikutnya: masukkan kembali dan tombol berikutnya di tampilan web
Jika Anda ingin membuka halaman belakang saat mengklik tombol kembali ponsel, gunakan ini:
Anda juga dapat membuat tombol kembali khusus seperti ini:
sumber
Pemfokusan juga harus diperiksa di diBackPressed
sumber
Kenapa tidak digunakan
onBackPressed()
?sumber
di sini adalah kode dengan konfirmasi keluar:
sumber
sumber
Di kota:
webView - id dari komponen tampilan web di xml, jika menggunakan referensi sintetis.
sumber
Jawaban pertama oleh FoamyGuy benar tetapi saya memiliki beberapa tambahan; reputasi rendah tidak memungkinkan saya untuk berkomentar. Jika karena alasan tertentu halaman Anda gagal dimuat, pastikan bahwa Anda menetapkan tanda untuk mencatat kegagalan dan kemudian memeriksanya pada override diBackPressed. Kalau tidak, canGoBack Anda () akan selamanya dieksekusi tanpa menuju ke aktivitas kembali yang sebenarnya jika ada:
sumber
Anda harus pustaka berikut di kelas Anda menangani onBackKeyPressed. canGoBack () memeriksa apakah tampilan web dapat merujuk ke halaman sebelumnya. Jika mungkin maka gunakan fungsi goBack () untuk referensi halaman sebelumnya (kembali).
sumber
Inilah solusi Kotlin:
sumber
Jalan Kotlin Resmi:
https://developer.android.com/guide/webapps/webview.html#NavigatingHistory
sumber
Jika seseorang ingin menangani backPressed untuk webView di dalam sebuah fragmen , maka dia dapat menggunakan kode di bawah ini.
Salin kode di bawah ini ke
Activity
kelas Anda (yang berisi fragmenYourFragmmentName
)}
Salin kode ini dalam fragmen
YourFragmentName
Catatan
Activity
harus diganti dengan kelas Aktivitas aktual yang Anda gunakan.YourFragmentName
harus diganti dengan nama Fragmen Anda.webView
diYourFragmentName
sehingga dapat diakses dari dalam fungsi.sumber
Anda dapat mencoba ini untuk tampilan web dalam sebuah fragmen:
sumber
gunakan kode ini untuk kembali ke halaman dan ketika halaman terakhir datang kemudian keluar dari aktivitas
sumber
Webview dalam Aktivitas, Kode di bawah ini berfungsi untuk saya, Selesai aktivitas setelah memuat Url di webview.di onback, tekan itu pergi ke aktivitas sebelumnya
sumber