1

私のアプリケーションでは、単純なダイアログ ボックスをアクティビティとして作成しています。のようなマニフェストファイルを使用してダイアログとしてアクティビティを変更するには

 <activity
        android:name=".Dialog_actvity"
        android:excludeFromRecents="true"
        android:launchMode="singleInstance"
        android:screenOrientation="landscape"
        android:theme="@android:style/Theme.Dialog" >
    </activity>

このようにすると、ダイアログは正しく表示されますが、ダイアログ アクティビティでsetcancelable(false)を設定できません。設定方法がわかりません。この問題の解決を手伝ってください。

4

2 に答える 2

2

であってActivityではないためDialog、 にアクセスすることはできませんsetcancelable(false)。アクティビティでオーバーライドすることにより、戻るボタンを無効にすることができますonBackPressed()

@Override
public void onBackPressed() {
}

場合によっては、ダイアログ アクティビティを終了するのを忘れると、少し危険であり、実際にはユーザー フレンドリーではないことを覚えておいてください。

于 2013-05-29T07:46:21.697 に答える
0

FabiFの回答に加えて..アクティビティの外側でクリックしたときにアクティビティも自動的に閉じない場合は、次を使用します。

@Override
public boolean onTouchEvent(MotionEvent event) 
{
    return true;
}

これは、たとえば、ボタンがクリック イベントを受け取るのを妨げることはありません。

于 2014-04-20T15:29:33.257 に答える