标签: back

Android后退按钮问题

假设我的应用程序中有3个活动:A,B和C.应用程序的流程是:A - > B - > C.

一旦到达C,按下后退按钮将把用户带到B.如果用户再次按下后退按钮,他们到达A,最后如果再次按下它,他们将退出应用程序.

目标:当用户按下C上的后退按钮时,它们应该转到A而不是 B,如果再次按下它,它们将退出应用程序.

问题:当覆盖活动C上的后退按钮以启动活动A时,一切似乎都没问题.但是,如果用户再次按下后退按钮,它们将返回到活动C.因此,按后退按钮只会在活动A和活动C之间切换.

我想Activity堆栈看起来像:

  • 打开应用程序:A
  • 转到B:A,B
  • 转到C:A,B,C
  • 按下:A,B,C,A
  • 按下:A,B,C
  • 按下:A,B,C,A
  • 按下:A,B,C
  • 按下:A,B,C,A
  • 按下:A,B,C
  • 按下:A,B,C,A
  • ...等等

因此,当按下C上的后退按钮时,似乎错误是启动一个新的Activity?无论如何,我可以提供有关如何实现此行为的建议.

谢谢,杰克

android button back

0
推荐指数
1
解决办法
1763
查看次数

request.getHeader("referer"),比后退按钮重新加载页面

JSP1链接到JSP2.

JSP2调用一个servlet,它执行一些操作并以以下结尾:

response.sendRedirect(request.getHeader("referer"));
return;
Run Code Online (Sandbox Code Playgroud)

此时我又回到了JSP2.问题是从那里按下浏览器后退按钮,页面只是重新加载自己而不是返回到JSP1.这是正确的,因为sendRedirect会在历史记录中添加一个条目.

但是我想回到JSP1.有小费吗?

http-referer jsp servlets back

0
推荐指数
1
解决办法
1万
查看次数

我的android webview上的后退按钮

我试图在我的android webview中添加一个后退按钮,但是我遇到了这个错误:新的WebViewClient(){}类型的onBackPressed()方法必须覆盖或实现超类型方法

这是我的Java文件:

package sherdle.donald.duck.app;
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class WebPageLoader extends Activity
{
WebView webview;

final Activity activity = this;

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
    setContentView(R.layout.main);
    WebView webView = (WebView) findViewById(R.id.webview);
    webView.getSettings().setJavaScriptEnabled(true);

    webView.setWebChromeClient(new WebChromeClient() {
        public void onProgressChanged(WebView view, int progress)
        {
            activity.setTitle("Loading...");
            activity.setProgress(progress * 100);

            if(progress == 100)
                activity.setTitle(R.string.app_name);
        }
    });

    webView.setWebViewClient(new WebViewClient() {
        @Override
        public void onReceivedError(WebView view, int errorCode, String description,    String failingUrl)
        { …
Run Code Online (Sandbox Code Playgroud)

android button back webview

0
推荐指数
1
解决办法
3479
查看次数

如何在不使用Intent的情况下从任何其他Activity打开Home Activity

在一次采访中有人问我这个问题.假设申请中有4项活动.他希望后退按钮能够在前三个活动中正常工作(即按后退按钮进入上一个屏幕); 除了最后一个.

他想要的是,当他按下第四个活动(屏幕)上的按钮时,用户应该转到主页活动(开始屏幕或第一个屏幕).但是当用户从第一个屏幕进入第二个屏幕时,Home Activity上的内容应该相同.所以我认为,我不能使用Intent,因为它将创建Starting Activity的新实例.

android launching button back android-activity

0
推荐指数
1
解决办法
861
查看次数

如何更改背景颜色应用程序返回按钮 - Windows 10 - C#

如何更改本机 Windows 10 应用程序中后退按钮的背景颜色?

这是它目前的样子:

按钮

c# xaml back-button back windows-10

0
推荐指数
1
解决办法
837
查看次数

在Safari 9中后退按钮后触发JQuery/Javascript

当我使用Chrome/Firefox中的浏览器后退按钮导航回来时,我的网站正常工作(与没有向后导航时加载的情况相同).

在导航回来后的Safari中,我无法获得任何"on load"类型事件来触发StackOverflow上的标准文档是否已准备就绪或者在此处发现了一些hackaround.我没有做任何特别的事,我真的需要打电话:

$( document ).ready(function() {
  // analyticsEvent();
  // startAnimation();
  // etc();
});
Run Code Online (Sandbox Code Playgroud)

有谁遇到过同样的问题?

javascript safari jquery back document-ready

0
推荐指数
1
解决办法
1260
查看次数

如何从片段A返回片段B?

我需要从 FragmentA 转到 FragmentB (我正在使用 navigationdrawer)

我在 FragmentB 中创建这个方法:

public void onBackPressed(){
    FragmentManager fm = getActivity().getFragmentManager();
    fm.popBackStackImmediate();
}
Run Code Online (Sandbox Code Playgroud)

但它们不起作用,我该如何实现这个方法?

android back onbackpressed

0
推荐指数
1
解决办法
2925
查看次数

按下后从片段转到主活动(导航视图)

尝试了很多方法,但没有一个完美地工作。我想从导航视图中设置的片段中获取主要活动。我试过

@Override
public void onBackPressed() {
    startActivity(new Intent(this, MainActivity.class));
}
Run Code Online (Sandbox Code Playgroud)

但它不会正常工作。我希望它就像当我处于零散的活动中时它返回到主活动,而再次单击返回时它退出(我已经这样做了),当按下返回时帮助我回到主活动

主活动.java

public class MainActivity extends AppCompatActivity {

private static final int PERMISSION_REQUEST_CODE = 1000 ;

private static final String TAG = "MainActivity";

private AdView mAdView;

ImageView imageView;


RecyclerView recyclerView;
RecyclerView.LayoutManager layoutManager;

List<Item> items;
CustomAdapter adapter;
private long backpressedtime;




@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    switch (requestCode)
    {
        case PERMISSION_REQUEST_CODE:
        {
            if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED)
                Toast.makeText(this, "Permission …
Run Code Online (Sandbox Code Playgroud)

android back android-fragments navigation-drawer navigationview

0
推荐指数
1
解决办法
901
查看次数

Android 长按系统后退按钮监听

我想添加一个监听器,用于监听 android 系统后退按钮被长按的情况,即长按版本Activity.onBackPressed

这仅需要在我的应用程序可见时才起作用。

当长按返回时,Chrome 会显示历史菜单,所以它一定是可能的,但找不到它的钩子。谢谢

events android back long-click onlongclicklistener

0
推荐指数
1
解决办法
3427
查看次数

C++ Emplace Back 与 Push Back Vector

我试图理解Vector C++ 中的emplace_backvs。push_back虽然emplace_back和push_back的整个过程都是在最后追加数据,但从我对emplace的理解来看,它没有创建临时对象。但是当我看到日志时,两种行为保持不变,需要帮助理解 emplace_back 与 Push_back

#include <iostream>
#include <vector>

using namespace std;

struct Foo
{
    int myint;

    Foo(int n) 
    {
        cout << "constructor called " << this << endl;
        myint = n;
    }

    Foo(const Foo& rhs ) 
    {
        cout << "copy constructor called " << this << endl;
        myint = rhs.myint;
    }

    void display() {
        cout << "in Display Foo int = " << myint << endl;
    }

};


int main()
{
    cout<<"********emplace example start …
Run Code Online (Sandbox Code Playgroud)

c++ back emplace

0
推荐指数
1
解决办法
3039
查看次数

PHP - 防止用户使用

我看了一下,但我找到的最接近的是asp.net.我想阻止用户按下浏览器中的后退按钮,或者如果他按下后退按钮,可能会将他链接到其他页面.

第1页:注册第2页:注册完成当用户按下它时,应将其重定向到主页(home.html).

欢迎大家帮忙!

php redirect back

-1
推荐指数
1
解决办法
6044
查看次数

Bean的方法返回上一页

执行适当的操作后,我的bean的方法必须确保浏览器返回上一页.我该怎么处理?

我正在使用CDI对话.

jsf back cdi

-11
推荐指数
1
解决办法
1557
查看次数