Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
保存Android活动状态_Android_Listview_Android Intent_Android Activity_Swipe - Fatal编程技术网

保存Android活动状态

保存Android活动状态,android,listview,android-intent,android-activity,swipe,Android,Listview,Android Intent,Android Activity,Swipe,我有三个活动EmpSearch、SearchResults和empsdetails 当我单击EmpSearch活动中的搜索按钮时,我正在使用intent将EmpSearch活动的输入值发送到SearchResults活动。在SearchResults活动中,我将接收到的输入值传递给后端(OData服务),并在Listview中显示结果。当我单击Listview项目时,我将导航到EmpDetails活动。当我在EmpDetails活动中单击emulator back按钮时,我能够看到填充了以前在S

我有三个活动EmpSearch、SearchResults和empsdetails

当我单击EmpSearch活动中的搜索按钮时,我正在使用intent将EmpSearch活动的输入值发送到SearchResults活动。在SearchResults活动中,我将接收到的输入值传递给后端(OData服务),并在Listview中显示结果。当我单击Listview项目时,我将导航到EmpDetails活动。当我在EmpDetails活动中单击emulator back按钮时,我能够看到填充了以前在SearchResults活动中获取的数据的列表。到目前为止,一切正常

我正在使用滑动手势从详细信息活动进入SearchResults活动,如下所示:

@Override
public void onSwipe(int direction) {

    String str = "";

      switch (direction) {

      case SimpleGestureFilter.SWIPE_RIGHT : str = "Swipe Right";
                                                newPages();
                                               break;
      case SimpleGestureFilter.SWIPE_LEFT :  str = "Swipe Left";
                                                     break;
      case SimpleGestureFilter.SWIPE_DOWN :  str = "Swipe Down";
                                                     break;
      case SimpleGestureFilter.SWIPE_UP :    str = "Swipe Up";
                                                     break;

      }

}

    private void newPages() {

    Intent swipeRight = new Intent(this, SearchResults.class);
    swipeRight.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(swipeRight);
    finish();   

}
现在,当我在EmpDetails活动中向右滑动导航回SearchResults活动时,它在SearchResults活动中显示空列表。 如何获得与emulator back按钮相同的行为


请帮帮我

如果您在
newPages()中调用
onBackPressed()
in
Details活动的方法,我认为您的问题可能会得到解决

private void newPages() {

    onBackPressed();

}

像这样覆盖“单击侦听器返回”按钮

@Override
    public void onBackPressed() {
        // TODO Auto-generated method stub
        super.onBackPressed();
            newPages();
    }

在EmpDetails活动中添加上述方法

后退按钮仅完成当前活动,并将上一个活动从后堆栈中带出。在newPages()方法中,只需调用“finish();”,而不是创建新的意图。这将结束当前活动并开始上一个活动。

我还有一个疑问。在我的应用程序主屏幕上,当我按下“上一步”按钮时,会出现类似“是否要退出”的警报。我怎样才能做到这一点呢?嗨,Mukesh,在我的newPages()方法中调用finish()方法,对我来说也很好。我的问题是哪一个是好的实践。请澄清我的疑问。您可以使用两者中的任何一个,因为两者都使用活动的最后一个
finish
。若要在主屏幕上创建对话框,请覆盖该活动中的
public void onBackPressed()
,并按照建议的链接创建对话框。您还可以创建一个简单的警报对话框,如@user2740599所示,查看此处关于
backPressed()