Содержимое вкладки перекрываются в приложении Android - PullRequest
2 голосов
/ 11 февраля 2011

У меня есть TabActivity для отображения двух списков, по одному списку на каждой вкладке.При запуске приложения содержимое двух вкладок отображается как перекрывающееся.Но когда выбрана другая вкладка, она работает правильно.Пожалуйста, помогите мне

Мой код:

@Override
public void onCreate( Bundle savedInstanceState )
{
    super.onCreate( savedInstanceState );   
    setContentView( R.layout.tab_layout );
    Resources res = getResources(); // Resource object to get Drawables
    tabHost = getTabHost();
    tabHost.setOnTabChangedListener( this );

    // setup list view 1
    listView1 = ( ListView ) findViewById( R.id.list1 );

    // setup list view 2
    listView2 = ( ListView ) findViewById( R.id.list2 );


    // add views to tab host
    tabHost.addTab( tabHost.newTabSpec( LIST1_TAB_TAG ).setIndicator( LIST1_TAB_TAG,
            res.getDrawable( R.drawable.rupees ) ).setContent( new TabContentFactory()
    {
        public View createTabContent( String arg0 )
        {
            return listView1;
        }
    } ) );
    tabHost.addTab( tabHost.newTabSpec( LIST2_TAB_TAG ).setIndicator( LIST2_TAB_TAG,
            res.getDrawable( R.drawable.food ) ).setContent( new TabContentFactory()
    {
        public View createTabContent( String arg0 )
        {
            return listView2;
        }
    } ) );
    // Set listener for list1
    listView1.setOnItemClickListener( new OnItemClickListener()
    {
        public void onItemClick( AdapterView parent, View view, int position, long id )
        {
            onListItemClick( id );
        }
    } );
    // Set listener for list2
    listView2.setOnItemClickListener( new OnItemClickListener()
    {
        public void onItemClick( AdapterView parent, View view, int position, long id )
        {
            onListItemClick( id );
        }
    } );
    listView2.setVisibility( View.INVISIBLE );
}

1 Ответ

0 голосов
/ 24 мая 2011

Я пришел к выводу, что TabHost будет предполагать, что все уже невидимо.Когда вы выбираете начальную вкладку, она просто показывает ее.Таким образом, если вы установите все свои взгляды как невидимые, все будет в порядке.Я просто устанавливаю представление (в моем случае пока простое TextView) на невидимое перед построением соответствующего TabContentFactory.

...