2017-09-02 34 views
-1

的當前項目的位置如何獲得FirebaseRecyclerAdpter如何獲得FirebaseRecyclerAdapter

madapter = new FirebaseRecyclerAdapter<user, contact.UserViewHolder>(user.class, R.layout.activity_dialogs_list, contact.UserViewHolder.class, muserref) { @Override protected void populateViewHolder(final UserViewHolder viewHolder, user model, final int position) { final String ais = model.getName(); viewHolder.setName(model.getName()); final String b = model.getQuery();

(最終UserViewHolder viewHolder,用戶模型當前項目位置,---->最終詮釋位置< --- ---) 如何使用該int位置查找當前位置。

+1

使用的位置,你能不能給這個有些細節題?你想實現什麼? – barotia

+0

我想改變項目的位置,使用notifiyonitemmoved()方法 –

+0

這聽起來像你不應該在你的適配器! @ ibm.shaikh 你的問題很不清楚,請添加更多細節。 – Thomas

回答

0

實際上,populateViewHolder中的位置是視圖的當前位置。

最簡單的方式是在ViewHolder類來創建一個整數值position和值分配給它這樣

madapter = new FirebaseRecyclerAdapter<user, contact.UserViewHolder>(user.class, R.layout.activity_dialogs_list, contact.UserViewHolder.class, muserref) { 
      @Override 
      protected void populateViewHolder(final UserViewHolder viewHolder, user model, final int position) { 
       final String ais = model.getName(); 
       viewHolder.setName(model.getName()); 
       viewHolder.setPosition(position); 
       final String b = model.getQuery(); 

,您可以通過viewHolder.getPosition();

+0

在我看來,viewHolder不應該包含這個位置。 viewHolder應該包含有關項目顯示的信息,它不應該包含任何與位置有關的數據。 – barotia

+0

有沒有關於這方面的設計指南? 例如,如果您需要在視圖中顯示當前位置,您應該有位置索引,對嗎? –

+0

如果您閱讀有關recyclerview適配器,您會看到。項目的模型和視圖是分離的。 – barotia