在我的Android应用中,我有一个带FirebaseListAdapter的ListView,向我显示用户,现在我希望firebaseListAdapter按字母顺序排序。我该如何实现?

码:

mListView = (ListView) findViewById(R.id.listView);

DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference().child("Users");

FirebaseListAdapter<String> firebaseListAdapter = new FirebaseListAdapter<String>(
                        this,
                        String.class,
                        android.R.layout.simple_list_item_1,
                        databaseReference
                ){
                    @Override
                    protected void populateView(View v, String model, int position) {

                        TextView textView = (TextView) v.findViewById(android.R.id.text1);
                        textView.setText(model);

                    }
                };

mListView.setAdapter(firebaseListAdapter);

最佳答案

这取决于名称。如果将用户存储在他们的名字下(因此名字是关键):

FirebaseListAdapter<String> firebaseListAdapter = new FirebaseListAdapter<String>(
    this,
    String.class,
    android.R.layout.simple_list_item_1,
    databaseReference.orderByKey()
){


但是,例如,如果您将该名称作为名为“ name”的属性,则可以使用:

FirebaseListAdapter<String> firebaseListAdapter = new FirebaseListAdapter<String>(
    this,
    String.class,
    android.R.layout.simple_list_item_1,
    databaseReference.orderByChild("name")
){


最后:如果要按键的单个字符串值排序:

FirebaseListAdapter<String> firebaseListAdapter = new FirebaseListAdapter<String>(
    this,
    String.class,
    android.R.layout.simple_list_item_1,
    databaseReference.orderByValue()
){

关于android - FirebaseListAdapter字母顺序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41491745/

10-09 06:03