Java 1单击->;回去//Can';不要回去-->;关闭
有没有解决这个问题的好方法 在我的Webview中,如果单击back按钮,我可以返回。 如果我点击一次,我需要一个返回的方法,如果我不能返回(startdisplay/startside),它应该说“再次点击退出应用程序”并敬酒。这可能吗 公共类MainActivity扩展了AppCompatActivity{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
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);
}