真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Android中Adapter里面嵌套ListView的示例分析

這篇文章主要為大家展示了“Android中Adapter里面嵌套ListView的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學習一下“Android中Adapter里面嵌套ListView的示例分析”這篇文章吧。

創(chuàng)新互聯(lián)專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、臨沂網(wǎng)站定制設(shè)計、自適應品牌網(wǎng)站建設(shè)、H5開發(fā)、商城網(wǎng)站定制開發(fā)、集團公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為臨沂等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

Android Adapter里面嵌套ListView實例詳解

前言:

可嵌套~但是顯示需要特殊處理下~以下是處理方法

前幾天因為項目的需要,要在一個ListView中放入另一個ListView,也即在一個ListView的每個ListItem中放入另外一個ListView。但剛開始的時候,會發(fā)現(xiàn)放入的小ListView會顯示不完全,它的高度始終有問題。上網(wǎng)查了下,發(fā)現(xiàn)別人也有遇到這樣的問題,而大多數(shù)人都不推薦這樣的設(shè)計,因為默認情況下Android是禁止在ScrollView中放入另外的ScrollView的,它的高度是無法計算的。

     又搜索了一下,發(fā)現(xiàn)有StackOverflow上的牛人已經(jīng)解決了這個問題,經(jīng)過試驗發(fā)現(xiàn)是可以解決問題的,它的思路就是在設(shè)置完ListView的Adapter后,根據(jù)ListView的子項目重新計算ListView的高度,然后把高度再作為LayoutParams設(shè)置給ListView,這樣它的高度就正確了,以下是源碼: 

public class Utility {  
  public static void setListViewHeightBasedOnChildren(ListView listView) {  
    ListAdapter listAdapter = listView.getAdapter();   
    if (listAdapter == null) {  
      // pre-condition  
      return;  
    }  
  
    int totalHeight = 0;  
    for (int i = 0; i < listAdapter.getCount(); i++) {  
      View listItem = listAdapter.getView(i, null, listView);  
      listItem.measure(0, 0);  
      totalHeight += listItem.getMeasuredHeight();  
    }  
  
    ViewGroup.LayoutParams params = listView.getLayoutParams();  
    params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));  
    listView.setLayoutParams(params);  
  }  
}

       只要在設(shè)置ListView的Adapter后調(diào)用此靜態(tài)方法即可讓ListView正確的顯示在其父ListView的ListItem中。但是要注意的是,子ListView的每個Item必須是LinearLayout,不能是其他的,因為其他的Layout(如RelativeLayout)沒有重寫onMeasure(),所以會在onMeasure()時拋出異常。

      在ScrollView中嵌套ListView(或者ScrollView)的另外一個問題就是,子ScrollView中無法滑動的(如果它沒有顯示完全的話),因為滑動事件會被父ScrollView吃掉,如果想要讓子ScrollView也可以滑動,只能強行截取滑動事件,有牛人在論壇中發(fā)過代碼說可以。雖然我沒有親自試過,但估計是可行的。

      雖然在ScrollView中顯示ScrollView在技術(shù)上的難題可以攻破,但是這樣的設(shè)計卻是非常差的用戶體驗因為用戶會不容易看到和操作子ScrollView中的內(nèi)容。比如好的設(shè)計是,父ListView的每個Item只顯示概括性的描述,然后點擊其Item會進入另外一個頁面來詳細描述和展示以及對這個Item的操作。

以上是“Android中Adapter里面嵌套ListView的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


網(wǎng)站名稱:Android中Adapter里面嵌套ListView的示例分析
網(wǎng)頁鏈接:http://weahome.cn/article/jjgeii.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部