【问题标题】:android backbutton in fragment calling 2 times片段中的android后退按钮调用2次
【发布时间】:2014-04-22 06:13:58
【问题描述】:

在我的一个应用程序中,我需要在扩展片段的后退键上退出对话框,这是

代码

View view = inflater.inflate(R.layout.fragment_layout1, null);
        view.setFocusableInTouchMode(true);
        view.requestFocus();
    view.setOnKeyListener(new OnKeyListener() {

        @Override
        public boolean onKey(View arg0, int keyCode, KeyEvent arg2) {
             Log.i("tag", "keyCode: " + keyCode);
                if( keyCode == KeyEvent.KEYCODE_BACK ) {
                        Log.i("tag", "onKey Back listener is working!!!");
                   // getFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
                    return true;
                } else {
                    return false;
                }
        }
    });

LogCat:

04-22 11:40:53.291: I/tag(31150): keyCode: 4
04-22 11:40:53.291: I/tag(31150): onKey Back listener is working!!!
04-22 11:40:53.351: I/tag(31150): keyCode: 4
04-22 11:40:53.351: I/tag(31150): onKey Back listener is working!!!

问题是这调用了 2 次...发生了什么

【问题讨论】:

标签: android fragment exit back-button


【解决方案1】:

试试这个代码

@Override
   public boolean onKeyDown(int keyCode, KeyEvent event) {
       if ((keyCode == KeyEvent.KEYCODE_BACK)) {
           AlertDialog.Builder alertbox = new AlertDialog.Builder(previousEntry.this);

           alertbox.setTitle("Do You Want To Exit ?");
           alertbox.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface arg0, int arg1) { 
                  // finish used for destroyed activity
                   finish();
               }
           });

           alertbox.setNegativeButton("No", new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface arg0, int arg1) {
                       // Nothing will be happened when clicked on no button 
                       // of Dialog     
             }
           });

           alertbox.show();
       }
       return super.onKeyDown(keyCode, event);
   }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多