在Tab-Change上避免第一个视图(EditText)的焦点增益

时间:2011-07-15 14:43:11

标签: android tabs focus android-edittext

我正在创建一个应用程序,其中必须没有EditText-Views获得焦点。只有当用户直接指向其中一个时,才会发生这种情况。 我设法通过Dummy EditText-Item阻止焦点增益onCreate()和onResume()。 但在我的应用程序中,我使用标签结合scrollviews。 当用户第一次更改为另一个选项卡时,似乎没有焦点增益(完美!)但是只要一个switsches回到另一个选项卡,我的EditText-View就会获得焦点......

我尝试使用tabHost的die onXY事件但是没有真正做到正确... 我感谢任何帮助!提前致谢, fbtb 此代码仅适用于第一个Tabchange ...怎么会这样? Toast总是正确显示,但焦点只在第一个Tabchange上设置......我根本没有得到它:(

tabHost.setOnTabChangedListener(new OnTabChangeListener() {
           @Override
           public void onTabChanged(String bezeichner) {
                Toast.makeText(getBaseContext(),"This is the Tab: " + tabHost.getCurrentTab() +" der String: "+bezeichner, Toast.LENGTH_LONG).show();
                if (tabHost.getCurrentTab() == 0)
                    goBtn.requestFocus();

                if (tabHost.getCurrentTab() == 1)
                    label_maxvolume.requestFocus();
                }
        }); 

1 个答案:

答案 0 :(得分:0)

使用此功能从任何Edittext

中删除焦点
final EditText eText = (EditText) findViewById(R.id.searchbox);
         InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
         imm.hideSoftInputFromWindow(eText.getWindowToken(), 0);

这将基本上隐藏键盘,无论何时需要或隐藏在哪里。