1

情報ボタンが押された後に表示されるアクティビティがあります。ユーザーが画面に触れたときにアクティビティを閉じたり破棄したりして、デバイスの戻るボタンを押さずにメインアクティビティに戻ることができるようにします。コードはどのように見えますか。

これを試しましたが、効果がありません:

if(onTouchEvent(null)){
        finish();
}

ありがとう。


編集:

これは私が持っているコード全体です:

public class InfoDialog extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.info_dialog); }

このクラスを使用して、Android スタイルの Theme.Dialog でアプリに関する短い情報を表示するだけですが、タッチスクリーンが押されたときにこのアクティビティを破棄/閉じるための関数を 1 つ追加したいので、戻るボタンを押す必要があります。

4

3 に答える 3

1

onTouch(View v, MotionEvent event) を次のようにオーバーライドする必要があります。

onTouch(View v, MotionEvent event){
   switch (event.getAction()) {
      case MotionEvent.ACTION_DOWN:
         finish();
   }
}
于 2012-09-13T08:16:21.540 に答える
0

あなたの情報を表示するそのビューにIDを与えます。次に、そのビューに onTouch リスナーを設定し、アクティビティを使用する場合はアクティビティを終了するか、可視性を使用する場合は非表示にします。

main = (RelativeLayout) findViewById(R.id.main);
main.setOnTouchListener(new View.OnTouchListener() {
            public boolean onTouch(View v, MotionEvent event) {
                        case MotionEvent.ACTION_DOWN:
                finish();
            }
        }

また

info = (RelativeLayout) findViewById(R.id.info);

info = (RelativeLayout) findViewById(R.id.info);
info.setOnTouchListener(new View.OnTouchListener() {
            public boolean onTouch(View v, MotionEvent event) {
                         case MotionEvent.ACTION_DOWN:
                info.setVisibilty(View.GONE);
            }
        }
于 2012-09-13T08:18:46.217 に答える