2016-02-28 24 views
0

我是Parse和Android開發人員的新手,目前正在開發一個由Android上的ParseQueryAdapter供電的聊天功能。問題是我需要像任何其他聊天應用程序的用戶體驗:底部的最新消息和頂部的「加載更多」按鈕,我無法得到我想要的結果。Reverse ParseQueryAdapter ItemList

我試着orderByAscending("updatedAt")對我的查詢和結果似乎是正確的:項目列表排序從舊到新(從頂部到底部)。達到最大項目(25個項目)時出現問題,並出現「加載更多」按鈕。 '加載更多'按鈕放在ListView的底部,最上面的消息仍然是第一條消息。

現在我開始考慮訂購我的查詢orderByDescending("updatedAt")並修改ParseQueryAdaptergetItem方法,因此項目將反向排序。 我試圖子類ParseQueryAdaptergetItem到:

@Override 
public ParseObject getItem(int position) { 
    return super.getItem(getCount() - position - 1); 
} 

我把它從this post因爲ParseQueryAdapter是基於BaseAdapter

而可悲的是,它返回NullPointerException時,讓我的ParseQueryAdapter子類,如下對象的getParseUser

public class ChatContentCustomAdapter extends ParseQueryAdapter<ParseObject> { 

    public ChatContentCustomAdapter(Context context, final String roomId){ ... } 

    public View getItemView(final ParseObject object, View v, ViewGroup parent) { 
     if (object.getParseUser("sender") == cUser) {   
      //populating layout 
     } 
    } 
} 

我應該怎麼做才能解決這個問題呢?

回答

1

對於使用ParseQueryAdapter來實現您真正想要的內容而言,這太麻煩了。我建議從Parse獲取對象並實現一個自定義的BaseAdapter插件到你的ListView。

+0

感謝您的建議。我將適配器切換到BaseAdapter,並且一切正常。 –