0

レイアウトのあるアクティビティがあります。私はそれでダイアログを開きます。戻るボタンをクリックしても機能せず、閉じずにアクティビティに戻ります。

OnKeyDown() メソッドをオーバーライドすることで解決できることはわかっていますが、この問題が発生した理由を知りたいです。

約2日前、それは完全に機能し、問題はありませんでした。今、私はこの問題を解決する方法を知りたいですか?

ダイアログクラスコードは次のとおりです。

package digitalDreams.ddvolume;

import android.app.Dialog;

import android.content.Context;
import android.media.AudioManager;
import android.os.Bundle;


public class DialogVolume extends Dialog {      

    Context cont;
    public DialogVolume(Context context) {
        super(context);
        cont=context;
        // TODO Auto-generated constructor stub
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        .
        .
        .
        }
        @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
//******   super.onKeyUp(keyCode, event);  ***** if forget this line
           .
           .
           .
        return  super.onKeyDown(keyCode, event);   
    }

Androidの音量をコントロールするシンプルなアプリです。

ダイアログを呼び出すアクティビティはシンプルなレイアウトです。

編集:

自分で解決!オーバーライドされたメソッドで OnKeyUp() 関数のスーパー クラスを呼び出すのを忘れています。これはばかげた問題です。

皆さん、ありがとうございました

4

1 に答える 1

3

setCancelable(真)

動作するはずです

http://developer.android.com/reference/android/app/Dialog.html#setCancelable(ブール値)

public void setCancelable (ブール値フラグ)

API レベル 1 で追加 このダイアログが BACK キーでキャンセル可能かどうかを設定します。

于 2013-08-10T19:10:57.307 に答える