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

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

android中RecyclerView怎么用-創(chuàng)新互聯(lián)

小編給大家分享一下android中RecyclerView怎么用,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

10年積累的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有賀州免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

為了讓RecyclerView可以在所有的Android版本中都能使用,Android開發(fā)團(tuán)隊(duì)將RecyclerView定義在support.v7包當(dāng)中。在使用該控件時(shí)需要打開當(dāng)前Modile的build.gradle文件,然后在dependencies節(jié)點(diǎn)中添加依賴庫的代碼。具體代碼如下:
compile 'com.android.support:recyclerview-v7:插入版本號(hào)'
添加完成以后需要單擊右上角的Sync Now進(jìn)行同步。同步完成后可以在布局文件中添加RecyclerView控件,語法格式如下:

控制RecyclerView需要一些常用的方法,具體方法如下:
◆ setLayoutManager:設(shè)置列表項(xiàng)的布局管理器,LinearLayoutManager為線性布局管理器、GridLayoutManager為網(wǎng)格布局管理器、StaggeredGridLayoutManager為瀑布流網(wǎng)格布局管理器。
◆ setItemAnimator:設(shè)置列表項(xiàng)增加或者是刪除時(shí)的動(dòng)畫,可以使用關(guān)鍵字new創(chuàng)建 DefaultItemAnimator()對(duì)象實(shí)現(xiàn)系統(tǒng)默認(rèn)的動(dòng)畫效果。
◆ addItemDecoration:添加列表項(xiàng)分割線。
◆ addOnItemTouchListener:添加列表項(xiàng)的觸摸監(jiān)聽器。
◆ removeOnItemTouchListener:移除列表項(xiàng)的觸摸監(jiān)聽器。
◆ setAdapter:設(shè)置列表項(xiàng)的適配器,使用RecyclerView.Adapter。
RecyclerView.Adapter是為RecyclerView所單獨(dú)設(shè)計(jì)的適配器類,RecyclerView.Adapter的相關(guān)方法如下:
◆ getItemCount:獲取列表項(xiàng)的數(shù)目。
◆ onBindViewHolder:綁定列表項(xiàng)中所顯示的數(shù)據(jù)。
◆ onCreateViewHolder:在該方法中可以加載列表item(子項(xiàng))中的布局文件。
下面通過一個(gè)具體的實(shí)例演示RecyclerView垂直列表的具體應(yīng)用。
實(shí)例07   模擬QQ消息列表   實(shí)例位置:光盤\Code\SL\27\07
視頻位置:光盤\Video
在Android Studio中創(chuàng)建Module,名稱為“QQMessageList”,具體步驟如下:
(1)打開build.gradle(Module: QQMessageList)文件,然后在該文件中的dependencies節(jié)點(diǎn)中添加依賴庫的代碼。
(2)修改新建Module的res/layout目錄下的布局文件activity_main.xml,將默認(rèn)添加的布局管理器修改為相對(duì)布局管理器并將TextView組件刪除,然后添加1個(gè)RecyclerView組件用于顯示消息列表。具體代碼如下:

01  
02  
08      
09      
16  

(3)在res/layout目錄中創(chuàng)建1個(gè)名稱為layout_item.xml的布局文件,將默認(rèn)添加的布局管理器修改為相對(duì)布局管理器,首先添加1個(gè)ImageView組件用于顯示頭像的圖標(biāo),然后添加1個(gè)垂直線性布局管理器,在該布局管理器中添加2個(gè)TextView組件分別用于顯示名稱與文字消息。具體代碼如下:

01  
02  
08      
09      
16      
22          
23          
30          
31          
39      
40  

(4)在res/values目錄中的strings.xml字符串資源文件內(nèi)添加名字與文字消息,用于顯示在列表當(dāng)中。
(5)在com.mingrisoft包中創(chuàng)建1個(gè)名稱為Adapter的Java類,首先在該類中創(chuàng)建1個(gè)名稱為MyViewHolder的內(nèi)部類并讓該類繼承自RecyclerView.ViewHolder,在該內(nèi)部類中獲取列表中用于顯示名稱、頭像圖標(biāo)與文字信息的組件。然后讓Adapter類繼承自RecyclerView.Adapter并且實(shí)現(xiàn)相對(duì)應(yīng)的方法。具體代碼如下:

01  public class Adapter extends RecyclerView.Adapter {
02      @Override
03      public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
04          return null;
05      }
06      @Override
07      public void onBindViewHolder(MyViewHolder holder, int position) {
08      }
09      @Override
10      public int getItemCount() {
11          return 0;
12      }
13      class MyViewHolder extends RecyclerView.ViewHolder {
14          public TextView name, info;              //編號(hào)文字
15          public ImageView img;                     //圖標(biāo)
16  
17          //獲取相關(guān)控件
18          public MyViewHolder(View itemView) {
19              super(itemView);
20              name = (TextView) itemView.findViewById(R.id.name);
21              info = (TextView) itemView.findViewById(R.id.info);
22              img = (ImageView) itemView.findViewById(R.id.img);
23          }
24      }
25  }

(6)創(chuàng)建3個(gè)int類型的數(shù)組分別用于保存頭像的圖標(biāo)資源、名字、文字信息,然后創(chuàng)建3個(gè)ArrayList集合分別用于保存數(shù)組中的資源文件,最后創(chuàng)建1個(gè)Adapter構(gòu)造方法,在該方法中設(shè)置菜單行數(shù)與行內(nèi)圖標(biāo)、名稱與文字信息具體代碼如下:

01  //圖標(biāo)數(shù)組
02  private int[] icons = {
03          R.mipmap.icon_1, R.mipmap.icon_2, R.mipmap.icon_3,
04          R.mipmap.icon_4, R.mipmap.icon_5, R.mipmap.icon_6,
05          R.mipmap.icon_7, R.mipmap.icon_8, R.mipmap.icon_9,
06          R.mipmap.icon_10, R.mipmap.icon_11
07  };
08  //名字?jǐn)?shù)組,引用資源文件中的文字
09  private int[] names = {
10          R.string.name1, R.string.name2, R.string.name3,
11          R.string.name4, R.string.name5, R.string.name6,
12          R.string.name7, R.string.name8, R.string.name9,
13          R.string.name10, R.string.name11
14  };
15  //信息數(shù)組
16  private int[] infos = {
17          R.string.info1, R.string.info2, R.string.info3,
18          R.string.info4, R.string.info5, R.string.info6,
19          R.string.info7, R.string.info8, R.string.info9,
20          R.string.info10, R.string.info11
21  };
22  private Context lContext;   //上下文
23  private List listIcon = new ArrayList();   //圖標(biāo)集合
24  private List listName = new ArrayList();   //名稱集合
25  private List listInfo = new ArrayList();   //信息集合
26  public Adapter(Context context) {
27      lContext = context;
28      //設(shè)置菜單行數(shù)與行內(nèi)圖標(biāo)、名稱、信息
29      for (int i = 0; i < 11; i++) {
30          listIcon.add(icons[i]);
31          listName.add(names[i]);
32          listInfo.add(infos[i]);
33      }
34  }

(7)重寫MyViewHolder onCreateViewHolder()方法,在該方法中實(shí)現(xiàn)獲取列表中,每行item的布局文件。修改后代碼如下:

01  @Override
02  public MyViewHolder onCreateViewHolder(ViewGroup arg0, int arg1) {
03      //獲取列表中,每行的布局文件
04      View view = LayoutInflater.from(lContext).inflate(R.layout.layout_item, arg0, false);
05      MyViewHolder holder = new MyViewHolder(view);           //
06      return holder;
07  }

(8)重寫onBindViewHolder()方法,在該方法中設(shè)置列表菜單中item(子項(xiàng))所顯示的內(nèi)容。修改后代碼如下:

01  @Override
02  public void onBindViewHolder(final MyViewHolder holder, int position) {
03      //設(shè)置圖標(biāo)
04      holder.img.setBackgroundResource(listIcon.get(position));
05      //設(shè)置名稱
06      holder.name.setText(listName.get(position));
07      //設(shè)置信息
08      holder.info.setText(listInfo.get(position));
09  }``

(9)重寫getItemCount()方法,在該方法中實(shí)現(xiàn)返回?cái)?shù)據(jù)集中的項(xiàng)目總數(shù)。修改后代碼如下:

01  @Override
02  public int getItemCount() {
03      return listIcon.size();
04  }

(10)打開主活動(dòng)MainActivity.java文件,定義所需要的全局變量,在onCreate()方法中首先獲取RecyclerView組件,然后為其設(shè)置列表布局管理器,最后為其設(shè)置適配器。具體代碼如下:

01  public class MainActivity extends AppCompatActivity {
02      private RecyclerView lRecyclerView;     //列表控件
03      private Adapter lAdapter;                //適配器
04      @Override
05      protected void onCreate(Bundle savedInstanceState) {
06          super.onCreate(savedInstanceState);
07          setContentView(R.layout.activity_main);
08          //獲取列表控件
09          lRecyclerView = (RecyclerView) findViewById(R.id.recyclerview);
10          //設(shè)置列表布局管理
11          lRecyclerView.setLayoutManager(new LinearLayoutManager(this));
12          //設(shè)置適配器
13          lRecyclerView.setAdapter(lAdapter = new Adapter(this));
14      }
15  }

(10)在工具欄中,找到 下拉列表框,然后單擊要運(yùn)行的應(yīng)用(這里為QQMessageList),再單擊右側(cè)的 運(yùn)行按鈕,運(yùn)行效果如圖27.27所示。
android中RecyclerView怎么用
圖27.27  模擬QQ消息列表

看完了這篇文章,相信你對(duì)“android中RecyclerView怎么用”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


網(wǎng)站標(biāo)題:android中RecyclerView怎么用-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://weahome.cn/article/esidj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部