0

EmpSearch、SearchResults、および EmpDetails の 3 つのアクティビティがあります。

EmpSearch アクティビティの検索ボタンをクリックすると、インテントを使用して EmpSearch アクティビティの入力値が SearchResults アクティビティに送信されます。SearchResults アクティビティでは、受け取った入力値をバックエンド (OData サービス) に渡し、結果を Listview に表示しています。Listview アイテムをクリックすると、EmpDetails アクティビティに移動します。EmpDetails アクティビティでエミュレータの [戻る] ボタンをクリックすると、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 アクティビティに空のリストが表示されます。エミュレータの戻るボタンと同じ動作を得るにはどうすればよいですか。

私を助けてください。

4

3 に答える 3

0

onBackPressed()innewPages()メソッドを呼び出すと、問題が解決する可能性があると思いますDetails activity

private void newPages() {

    onBackPressed();

}
于 2013-10-21T08:54:43.153 に答える
0

このように戻るボタンのクリックリスナーをオーバーライドします

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

上記のメソッドを EmpDetails アクティビティに追加します

于 2013-10-21T08:59:26.967 に答える