2011-10-26 10 views
0

Android 2.1で開発した3つのViewFlipperレイアウトがあり、 '戻る'ボタンを押すと明示的にプログラムを1つ戻すようにしました。Android:VIewFlipperとonBackPressedが応答しない

@Override 
public void onBackPressed() { 
    switch (backStatus) { 
    case 0: finish(); 
    case 1: //TODO Check save 
    case 2: a.animateLeft(Flipper); 
    case 99: setContentView(R.layout.main); 
    } 
} 

同じコードでonKeyDown/Up呼び出しを試してみました。

明らかにbackStatusは別のインクルードに移動すると変更されます。 問題は、私は3つ目の例( "case 2")includeにインクルード2のオプションのリストを挙げます。ユーザーがキャンセルして戻るボタンを押したければa.animateLeft(Flipper)を呼び出す)、それは2番目のインクルードにまっすぐに戻るべきですが、そうではありません。それは第1のインクルードにまっすぐに戻る。さらに、ボタンのクリックリスナーを無効にするので、応答しない。

「ケース2」をそのまま残しておくと、それを完全に無効にしますが、これは明らかに良いことではありません。左と右をアニメートするためのすべてのコードは画面上のボタンからうまく機能し、正しいbackStatusフラグはフリッパーを切り替えるときに渡されます。誰も私はこの小さなピックルを解決する方法を知っていますか?

ありがとうございます、AW。

答えて

1

break;少なくとも2番目のケースでは。

+0

私はJavaを再学習する必要があると思う、ありがとう –

関連する問題