如何在EditText

时间:2016-10-03 13:04:58

标签: android android-studio android-fragments

我使用导航抽屉活动以及一些片段。我在每个片段的onResume()下添加了一些代码行,通过后退按钮单击返回特定片段。代码是:

getView().setFocusableInTouchMode(true);
    getView().requestFocus();
    getView().setOnKeyListener(new View.OnKeyListener() {
        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {

            if (event.getAction() == KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_BACK){
                Fragment fragment = null;
                Class fragmentClass;
                fragmentClass = Introduction.class;
                try {
                    fragment = (Fragment) fragmentClass.newInstance();
                } catch (Exception e) {
                    e.printStackTrace();
                }
                FragmentManager fragmentManager = getFragmentManager();
                fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit();

                return true;
            }
            return false;
        }
    });

当我第一次打开片段时,EditText将以Un Focused模式显示,因此如果我单击后退按钮,它将正常工作(因为:getView()。setFocusableInTouchMode(true);)。但是假设我在EditText中写了一些内容然后点击后面,不能转到上一个片段,而是关闭应用程序。我该怎么办?

1 个答案:

答案 0 :(得分:0)

你试过editText..setEnabled(false);

吗?

尝试将焦点更改为其他项目

this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);