Почему Android TabHost крадет фокус у TextView?

У меня есть приложение с помощью следующего расположения:

сопроводительный текст http://img15.imageshack.us/img15/238/screenshot003xbo.png

Когда приложение запускается, фокус находится на первом TextView, но при попытке ввести какую-либо букву в нем, фокус переходит непосредственно к вкладкам. Кажется, что я не единственный, борющийся с этой проблемой, и возможно это связано со следующим:

http://groups.google.com/group/android-developers/browse_thread/thread/435791bbd6c550a/8022183887f38f4f?lnk=gst&q=tabs+focus#8022183887f38f4f

Так или иначе у Вас есть какая-либо идея того, почему это происходит? И конечно, любое обходное решение ценилось бы.


Я отправляю код ниже, чтобы не перегружать вопрос:

XML:




    

        

            

            

        

         

             

              

               

                    

                

                 

                

                

                 

                

                

            

        

    

    
    

          
          

И код Java:

    TabHost tab_host = (TabHost) findViewById(R.id.edit_item_tab_host);
    // don't forget this setup before adding tabs from a tabhost using a xml view or you'll get an nullpointer exception
    tab_host.setup(); 

    TabSpec ts1 = tab_host.newTabSpec("TAB_DATE");
    ts1.setIndicator(getString(R.string.when), getResources().getDrawable(R.drawable.ic_dialog_time));
    ts1.setContent(R.id.edit_item_date_tab);
    tab_host.addTab(ts1);

    TabSpec ts2 = tab_host.newTabSpec("TAB_GEO");
    ts2.setIndicator(getString(R.string.where),  getResources().getDrawable(R.drawable.ic_dialog_map));
    ts2.setContent(R.id.edit_item_geocontext_tab);
    tab_host.addTab(ts2);

    TabSpec ts3 = tab_host.newTabSpec("TAB_TEXT");
    ts3.setIndicator(getString(R.string.what),  getResources().getDrawable(R.drawable.ic_menu_edit));
    ts3.setContent(R.id.edit_item_text_tab);
    tab_host.addTab(ts3);

    tab_host.setCurrentTab(0);

6
задан Daniel 21 November 2019 в 13:50
поделиться

1 ответ

Если это не связано с той другой ошибкой, на которую вы указали (и похоже, что это возможно), и если вы испытываете это на G1s (а не на эмуляторе) Я подозреваю, что ваша проблема в том, что фокус либо не замораживается до изменения ориентации (когда вы складываете клавиатуру и переходите в альбомный режим), либо не замораживается после восстановления вида. Вы можете попробовать переопределить методы onSaveInstanceState () и onRestoreInstanceState () для действия, чтобы сохранить / восстановить фокус.

0
ответ дан 8 December 2019 в 17:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: