Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何从FirebaseListAdapter维护滚动位置_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

Android 如何从FirebaseListAdapter维护滚动位置

Android 如何从FirebaseListAdapter维护滚动位置,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我试图维护从FirebaseListAdapter填充的ListView的滚动位置 我已经尝试过了,但这并不是说对FirebaseListAdapters的修改可能有效 private void displayChatMessages() { adapter = new FirebaseListAdapter<ChatMessage>(this, ChatMessage.class, R.layout.messages, FirebaseDatabas

我试图维护从FirebaseListAdapter填充的ListView的滚动位置

我已经尝试过了,但这并不是说对FirebaseListAdapters的修改可能有效

private void displayChatMessages() {
    adapter = new FirebaseListAdapter<ChatMessage>(this, ChatMessage.class,
            R.layout.messages, FirebaseDatabase.getInstance().getReference()) {
        @Override
        protected void populateView(View v, ChatMessage model, int position) {
            // Get references to the views of message.xml
            TextView messageText = (TextView)v.findViewById(R.id.message_text);
            TextView messageUser = (TextView)v.findViewById(R.id.message_user);
            TextView messageTime = (TextView)v.findViewById(R.id.message_time);

            // Set their text
            messageText.setText(model.getMessageText());
            messageUser.setText(model.getMessageUser());
            // Format the date before showing it
            messageTime.setText(DateFormat.format("dd-MM-yyyy (HH:mm)",
                    model.getMessageTime()));

        }
};
private void displayChatMessages(){
adapter=新的FirebaseListAdapter(此,ChatMessage.class,
R.layout.messages,FirebaseDatabase.getInstance().getReference()){
@凌驾
受保护的void populateView(视图v、聊天信息模型、int位置){
//获取对message.xml视图的引用
TextView messageText=(TextView)v.findviewbyd(R.id.message\u text);
TextView messageUser=(TextView)v.findviewbyd(R.id.message\u user);
TextView messageTime=(TextView)v.findViewById(R.id.message\u time);
//设置他们的文本
messageText.setText(model.getMessageText());
messageUser.setText(model.getMessageUser());
//在显示日期之前格式化日期
messageTime.setText(DateFormat.format(“dd-MM-yyyy(HH:MM)”,
model.getMessageTime());
}
};

我还应该注意,我无法引用onViewCreated()方法,上述线程中的解决方案建议使用该方法。

是否将其作为
onViewCreated()放在
活动中
片段中
可能是因为他们使用
片段
将其放置在活动中。在这种情况下,它应该在onCreate中吗?您尝试过吗?请先尝试,然后再次告诉我们它是否不起作用或错误异常是否正在更改。我最终更改了用户体验,现在列表将从底部填充,并随时滚动到底部列表已更新。对于感兴趣的人,我使用了。您是否将其作为
onViewCreated()放置在
活动中
片段中
可能是因为他们使用
片段
将其放置在活动中。在这种情况下,它应该在onCreate中吗?您尝试过吗?请先尝试,然后再次告诉我们它是否不起作用或错误异常是否正在更改。我最终更改了用户体验,现在列表将从底部填充,并随时滚动到底部列表已更新。对于感兴趣的人,我使用。