0

我正在尝试控制手机的后退按钮,并在按下后退键时设置一个可见的布局,但没有出现任何内容。我想知道是否可以这样做。

public boolean onKeyDown(int keyCode, KeyEvent ev) {

    switch(keyCode) {

    case KeyEvent.KEYCODE_BACK:

        if (main_layout.getVisibility() == View.VISIBLE) {

           finish();

        } else if (sub_layout.getVisibility() == View.VISIBLE){

            boutton_radio.setVisibility(View.VISIBLE);

            boutton_radio.setEnabled(true);

            sub_layout.setEnabled(false);

            sub_layout.setVisibility(View.GONE);

            main_layout.setVisibility(View.VISIBLE);

            main_layout.setEnabled(true);
        }


    return true;

    }
    return false;

    }

在 backey 上使用也可以得到相同的结果

@覆盖

public void onBackPressed() {

    // TODO Auto-generated method stub

}
4

3 回答 3

0

是的,我应该工作。我用它来做另一个功能,它也对你有用。这就是我在按下后退键时调用警报框的方式。

@Override
    public void onBackPressed() {
        final MediaPlayer areusure = MediaPlayer.create(TalkingWebBrowserActivity.this, R.raw.areusure);
        areusure.start();
        AlertDialog alertbox = new AlertDialog.Builder(this)
        .setMessage("Do you want to exit the Browser?")
        .setPositiveButton("Yes", new DialogInterface.OnClickListener() {

            // do something when the button is clicked
            public void onClick(DialogInterface arg0, int arg1) {

                finish();

            }
        })
        .setNegativeButton("No", new DialogInterface.OnClickListener() {

            // do something when the button is clicked
            public void onClick(DialogInterface arg0, int arg1) {
                           }
        })
          .show();

    }
于 2013-02-13T08:59:54.943 回答
0

你在正确的道路上。:)

public void onBackPressed() {

if (main_layout.getVisibility() == View.VISIBLE) {

       finish();

    } else if (sub_layout.getVisibility() == View.VISIBLE){

        boutton_radio.setVisibility(View.VISIBLE);

        boutton_radio.setEnabled(true);

        sub_layout.setEnabled(false);

        sub_layout.setVisibility(View.GONE);

        main_layout.setVisibility(View.VISIBLE);

        main_layout.setEnabled(true);
    }

}

于 2013-02-13T09:01:45.957 回答
0

为什么你要检查你的两个不同的东西。如果你输入你的 else if(main_layout.getVisability 而不是 sub main。试试看并告诉我是否解决了

于 2013-02-13T09:02:06.890 回答