【问题标题】:android tab layout listview not clickableandroid选项卡布局列表视图不可点击
【发布时间】:2011-01-09 20:35:58
【问题描述】:

我已经实现了一个选项卡布局,它由四个选项卡组成,每个选项卡包含一个列表视图。我之前使用的是相同的列表视图设置,但不在选项卡主机下,它工作正常,即;当单击列表项时,将启动一个新活动。但现在该列表既不可点击也不可滚动。但是现在,当我单击所有选项卡然后尝试滚动/单击行时,它工作得非常好。请让我知道如何启用两者。代码如下

tabHost = (TabHost) findViewById(android.R.id.tabhost);
        tabHost.setup();
        tabHost.setOnTabChangedListener(this);

        list = (ListView) findViewById(R.id.listAll);
        list.setEmptyView((TextView) findViewById(R.id.empty));

        //list for all

        tabHost.addTab(tabHost.newTabSpec(LIST_ALL).setIndicator("All Events").setContent(new TabContentFactory() {
            public View createTabContent(String arg0) {
                try{
                    Event event = new Event();
                    final String [] eventTitleArray = new String[XmlParser.eventsList.size()];
                    String [] eventDateArray = new String[XmlParser.eventsList.size()];
                    String [] eventImageLinkArray = new String[XmlParser.eventsList.size()];

                for(int i=0;i<XmlParser.eventsList.size();i++){
                        event = XmlParser.eventsList.get(i);
                        eventTitleArray[i] = event.getTitle();
                        if(event.getDistance()!=0.0)
                            eventDateArray[i] = event.getsDate() +" - " +Double.toString(event.getDistance())+"mi";
                        else
                            eventDateArray[i] = event.getsDate();
                        eventImageLinkArray[i] = event.getImageLink();


                        Log.i(tag , "event detail"+event.getTitle());
                    }
                    list=(ListView)findViewById(R.id.listAll);
                    adapter= new LazyAdapter(HomeActivity.this, eventTitleArray,eventDateArray,eventImageLinkArray);
                    list.setAdapter(adapter);
                    list.setFocusable(false);
                    list.setOnItemClickListener(new OnItemClickListener() {
                        @Override
                        public void onItemClick(AdapterView<?> arg0, View arg1,
                                int position, long arg3) {
                            Intent intent = new Intent(HomeActivity.this, DisplayActivity.class);
                            Bundle b = new Bundle();
                            System.out.println("position in list:"+position);
                            System.out.println("title name in the list:"+eventTitleArray[position]);
                            b.putString("eventTitle", eventTitleArray[position]);
                            intent.putExtras(b);
                            startActivity(intent);

                            Toast.makeText(getApplicationContext(), "Detailed view for the Event", Toast.LENGTH_SHORT).show();


                        }
                    });
                }
                catch(Exception e){
                    e.printStackTrace();
                }
                return list;
            }
        }));

        tabHost.addTab(tabHost.newTabSpec(LIST_TODAY).setIndicator("Events Today").setContent(new TabContentFactory() {
            public View createTabContent(String arg0) {
                return list;
            }
        }));

【问题讨论】:

    标签: android android-listview android-tabhost


    【解决方案1】:

    您是否在布局 XML 文件中将 ListView 标记为可点击?

    它应该看起来像这样:

    <ListView 
           android:id="@+id/MyListView" 
           android:layout_width="fill_parent" 
           android:layout_height="wrap_content"
           android:clickable="true"/>
    

    【讨论】:

    • 很抱歉,您还没有提到它应该是什么样子?另外,请再次阅读问题,我只是添加了一些更有价值的信息
    • 这很奇怪;文本在我的回复中,但由于某种原因没有呈现。
    • 谢谢...但是您是否再次阅读了我的问题...我在其中添加了一些信息。该列表是可点击/可滚动的,但只有在最后一个小部件被点击后
    【解决方案2】:

    我刚刚这样做了,现在列表工作得很好。

            tabHost.setCurrentTab(3);
            tabHost.setCurrentTab(2);
            tabHost.setCurrentTab(1);
            tabHost.setCurrentTab(0);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-13
      • 1970-01-01
      • 2018-12-01
      • 2014-11-02
      • 1970-01-01
      • 2015-10-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多