Android Studio显示FirebaseListAdapter更改代码

时间:2018-01-31 09:36:36

标签: android firebase

我有FirebaseListAdapter从用户检索所有uid,但我希望它检索名称。

我有两个孩子。一种是存储所有已连接用户的uid用于聊天,另一种用于存储其名称等信息。如何将检索到的值(uid)转换为名称并显示如下所示。

我附上了我的应用目前的样子片段,我想让它显示名称,而不是uid

    FirebaseListAdapter<String> firebaseListAdapter = new FirebaseListAdapter<String>(getActivity(), String.class, R.layout.fragment_chatfprow, mDatabase) {
        @Override
        protected void populateView(View v, String model, int position) {
            TextView text = v.findViewById(R.id.text1);

            text.setText(model);
        }
    };

我认为与这些代码行有关但我无法弄清楚如何。

这就是我的Firebase ListView的样子

1 个答案:

答案 0 :(得分:0)

您需要一个modelFirebase UI Database,其中包含空构造函数,例如:

public class Users {
private String mName;
private String mMessage;

public Users() {}  // Required for Firebase

public Users(String name, String message) {
    mName = name;
    mMessage = message;
}

 public String getName() { return mName; }

 public void setName(String name) { mName = name; }

 public String getMessage() { return mMessage; }

 public void setMessage(String message) { mMessage = message; }
}

然后在Adapter创作中你可以这样做:

 FirebaseListAdapter<Users> firebaseListAdapter = new FirebaseListAdapter<Users>(getActivity(), Users.class, R.layout.fragment_chatfprow, mDatabase) {
    @Override
    protected void populateView(View v, String model, int position) {
        TextView text = v.findViewById(R.id.text1);

        text.setText(model.getName());
    }
};

您可以在此处查看更多信息:https://github.com/firebase/FirebaseUI-Android/blob/master/database/README.md