0

ユーザーのアクションに応じて 3 つの方法でアクセスできるビューがあります。たとえば、次の方法でアクセスできるショップの説明ページがあります。

  • お店を探す
  • 近くのお店マップ機能でお店をクリック
  • リスト ビューでショップをクリックする

私が抱えている問題は、ユーザーがショップの説明ページにいて、クリックして戻ったときに、正しい前のページに戻らないことです。そのため、近くの地図機能を介してショップの説明にアクセスした場合、[戻る] をクリックするとリストビューに戻りますが、これは明らかに正しくありません。

次のコードを使用してリファラーを設定することで、この問題を解決しようとしました。

SharedPreferences preferences = this.getSharedPreferences("SHARED_PREF",Context.MODE_PRIVATE);  
            SharedPreferences.Editor editor = preferences.edit();
            editor.putString("referrer", "nearby");
            editor.commit();

次に、onBackPressed メソッドでこの共有設定を確認しました。

public static void onBackPressed() {
        System.out.println("REFERRER NOW EQUALS= "+referrer);
        if(referrer == "nearby") {

        TabsViewPagerFragmentActivity.mViewPager.setCurrentItem(13);

        } else if(referrer == "search-list"){

            TabsViewPagerFragmentActivity.mViewPager.setCurrentItem(15);
        } else {

            TabsViewPagerFragmentActivity.mViewPager.setCurrentItem(10);
        }

    }

ただし、まだ正しく機能していません。これを解決するより良い方法はありますか?ありがとう

4

1 に答える 1

0

文字列を次のものと比較します。

 equals(); 

== の代わりに :

if(referrer.equals("nearby")) {
于 2012-07-25T11:18:02.500 に答える