Java 1单击->;回去//Can';不要回去-->;关闭

Java 1单击->;回去//Can';不要回去-->;关闭,java,android,onbackpressed,Java,Android,Onbackpressed,有没有解决这个问题的好方法 在我的Webview中,如果单击back按钮,我可以返回。 如果我点击一次,我需要一个返回的方法,如果我不能返回(startdisplay/startside),它应该说“再次点击退出应用程序”并敬酒。这可能吗 公共类MainActivity扩展了AppCompatActivity{ private ImageButton Ilias_link; private ImageButton Lsf_link; private WebView mWebView; @Ov

有没有解决这个问题的好方法

在我的Webview中,如果单击back按钮,我可以返回。 如果我点击一次,我需要一个返回的方法,如果我不能返回(startdisplay/startside),它应该说“再次点击退出应用程序”并敬酒。这可能吗

公共类MainActivity扩展了AppCompatActivity{

private ImageButton Ilias_link;
private ImageButton Lsf_link;
private WebView mWebView;


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


    Ilias_link = (ImageButton) findViewById(R.id.ilias_link);
    mWebView = new WebView(this);
    Ilias_link.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            mWebView.getSettings().setJavaScriptEnabled(true);
            mWebView.loadUrl("https://elearns02.fh-biberach.de/ilias3/login.php?target=&soap_pw=&ext_uid=&cookies=nocookies&client_id=HSBC&lang=de");
            mWebView.setWebViewClient(new WebViewClient());
            setContentView(mWebView);

        }
    });

    Lsf_link = (ImageButton) findViewById(R.id.lsf_link);
    mWebView = new WebView(this);
    Lsf_link.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            mWebView.getSettings().setJavaScriptEnabled(true);
            mWebView.loadUrl("https://lsf.fh-biberach.de/qisserver/rds?state=user&type=0");
            mWebView.setWebViewClient(new WebViewClient());
            setContentView(mWebView);
        }
    });
}



@Override
    public void onBackPressed() {
        if (mWebView.canGoBack()) {
            mWebView.goBack();
        } else {
            super.onBackPressed();
        }
}

}

您可以使用临时全局变量。我还没有测试过它,但它应该可以工作

boolean goback = false;
@Override
public void onBackPressed() {
    if (mWebView.canGoBack()) {
        mWebView.goBack();
     }else {
        if(!goback) {
           goback = true;
           //show Toast here..
           return;
        } 
        super.onBackPressed();
     }
}

您好,我建议您根据时间使用不同的方法。因为在用户看到提示退出的toast消息后,她/他不应该想退出应用程序

boolean doubleBack = false;
@Override
public void onBackPressed() {
    if (mWebView.canGoBack()) {
        mWebView.goBack();
        return ;
    }

    if (doubleBack) {
        super.onBackPressed();
        return;
    }

    doubleBack = true;
    Toast.makeText(this, "Click once more to Exit the app", Toast.LENGTH_SHORT).show();

    new Handler().postDelayed(new Runnable() {

        @Override
        public void run() {
            doubleBack = false;                       
        }
    }, 2000);
}