gpt4 book ai didi

java - 从 firebase 检索数据后需要反转 ListView

转载 作者:行者123 更新时间:2023-12-02 01:52:05 26 4
gpt4 key购买 nike

我创建了一个 Android 应用程序。在我的应用程序中,当人们单击按钮时,它会转到请求列表 Activity 并显示所有名称和描述。每个数据都存储在 firebase 中。 firebase 将数据逐一串行存储在另一个下面。这就是为什么当我从 firebase 获取数据时,列表按顺序显示所有内容。但我想在顶部显示最后一个数据。我怎样才能做到这一点。

这是我的 Activity ,其名称为 requestList

RequestList.java

String description;
ArrayList<String> RequestList;
ListView listView;
ArrayAdapter<String> arrayAdapter;



@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_request_list);


RequestList = new ArrayList<>();

listView = (ListView) findViewById(R.id.list_request);
arrayAdapter = new ArrayAdapter<String>(this, R.layout.list_item, R.id.list, RequestList);

listView.setAdapter(arrayAdapter);





DatabaseReference myRef = database.getReference("Request");



myRef.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
RequestName Request = dataSnapshot.getValue(RequestName.class);
String requestInfo = "Name : "+ Request.requestname + " \nDescription : " + Request.description;
RequestList.add(requestInfo);
arrayAdapter.notifyDataSetChanged();
}



@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {

}

@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {

}

@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {

}

@Override
public void onCancelled(DatabaseError databaseError) {

}
});
}

这是布局

activity_request_list



<ListView
android:id="@+id/list_request"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:divider="@color/red"
android:dividerHeight="2dip" />

我使用了自定义布局进行显示

list_item

<TextView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20dp"
android:textStyle="bold"
android:layout_marginLeft="15dp"
android:textColor="@color/White" />

请帮忙

最佳答案

我会尝试将 requestInfo 添加为 RequestList 的第一个元素。这可能会解决您的问题,而不是颠倒所有列表。

myRef.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
RequestName request = dataSnapshot.getValue(RequestName.class);
String requestInfo = "Name : "+ Request.requestname + " \nDescription : " + Request.description;
RequestList.add(0, requestInfo);
arrayAdapter.notifyDataSetChanged();
}

// Other methods are removed for simplicity.
});

希望这对您有帮助!

关于java - 从 firebase 检索数据后需要反转 ListView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52813756/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com