Soru & Cevap

WebView Geri Butonu ? ...

19.01.2017 - 05:00

Arkadaşlar geri butonunu nasıl aktif edebilirim ? geri deyince direk uygulamadan çıkıyor ?

 

package net.video.mobilvideo;

import android.app.ProgressDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    WebView webView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        webView = (WebView) findViewById(R.id.webView);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.getSettings().setSupportZoom(true);
        webView.getSettings().setBuiltInZoomControls(true);
        webView.loadUrl("http://m.youtube.net");

        final ProgressDialog progressDialog=ProgressDialog.show(this, "Mobil Video İzle", "Bağlantınız Kontrol Ediliyor", true);
        progressDialog.show();

        webView.setWebViewClient(new WebViewClient() {
            @Override
            public void onPageFinished(WebView view, String url) {
                super.onPageFinished(view, url);
                Toast.makeText(MainActivity.this, "", Toast.LENGTH_SHORT).show();
                progressDialog.dismiss();
            }

            @Override
            public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
                super.onReceivedError(view, errorCode, description, failingUrl);

                Toast.makeText(MainActivity.this, "Bir hata oluştur!", Toast.LENGTH_SHORT);
                progressDialog.dismiss();
            }

        });


    }
}

 

249 Görüntülenme

2 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-4734-1478443674.jpg
ElifHilalTas
26.09.2017 - 01:26

Merhaba 

if(browser.canGoBack()){

browser.goBack(); }

kısmında browser hata veriyor nasıl düzeltebilirim?

picture-101565-1519493743.jpg
Umut-esmer
20.01.2017 - 09:23

Selamlar. Öncelikle tuşa basıp basılmadığını algılamak için bir etkinliğe ihtiyacımız var. MainActivity üzerinde yeni bir onKeyDown(herhangi tuşa basıldığında) etkinliği oluşturuyoruz.

public boolean onKeyDown(int keyCode, KeyEvent event) { 

}

Daha sonra yapılan işlem, tuşa basma işlemi ise devam et diye bir koşul ekliyoruz. Burada duruma göre tuşa basınca, tuştan parmağı kaldırınca gibi alternatifler de oluşturulabilir.

if(event.getAction() == KeyEvent.ACTION_DOWN){ 

}

Daha sonra hangi tuşa basıldığında işlemlerin yapılacağına karar vermesi için yeni bir koşul daha ekleyeceğiz. Ben burada geri tuşuna ihtiyaç duyduğum için, basılan tuşun geri tuşu olup olmadığını kontrol edeceğim.

if(keyCode == KeyEvent.KEYCODE_BACK){ 

}

Geri tuşuna basıldığı zaman ise, webviev eğer geri dönebiliyor ise* geri dönmesini isteyeceğiz.

if(browser.canGoBack()){ 
    browser.goBack(); 
}

Bu durumda etkinliğimizin son durumu şu şekilde olacak. 

public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if(event.getAction() == KeyEvent.ACTION_DOWN) { 
        if(keyCode == KeyEvent.KEYCODE_BACK){ 
            if(browser.canGoBack()){ 
                browser.goBack(); 
            } else{ 
                finish(); 
            } 
            return true; 
        } 
    } 
    return super.onKeyDown(keyCode, event); 
}

İyi çalışmalar...