【发布时间】:2018-05-19 16:35:43
【问题描述】:
我想从我的 firebase 数据库中获取名称(字符串)和位置(字符串)到我的应用程序片段页面的列表视图中。它没有给出任何错误,但名称和位置文本只是不出现在应用程序上。感谢帮助。我认为从 firebase 服务器获取字符串存在问题。
Firebase hierarchy : FIREBASE -> Events -> XmasParty -> location = Germany
-> name = XmasParty
片段:
public class RequestsFragment extends Fragment {
private Button create_event_btn;
private View mMainView2;
private RecyclerView mEventList;
private DatabaseReference mEventsDatabase;
private LinearLayoutManager mLayoutManager;
public void ChatsFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mMainView2 = inflater.inflate(R.layout.fragment_requests, container, false);
mEventsDatabase = FirebaseDatabase.getInstance().getReference().child("Events");
mLayoutManager = new LinearLayoutManager(getContext());
create_event_btn = (Button) mMainView2.findViewById(R.id.create_btn);
mEventList = (RecyclerView) mMainView2.findViewById(R.id.event_list);
mEventList.setHasFixedSize(true);
mEventList.setLayoutManager(mLayoutManager);
create_event_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(getActivity(), Create_EventActivity.class);
startActivity(intent);
}
});
// Inflate the layout for this fragment
return mMainView2;
}
@Override
public void onStart() {
super.onStart();
FirebaseRecyclerAdapter<Events, RequestsFragment.EventsViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Events, EventsViewHolder>(
Events.class,
R.layout.users_single_layout,
RequestsFragment.EventsViewHolder.class,
mEventsDatabase
) {
@Override
protected void populateViewHolder(RequestsFragment.EventsViewHolder eventsViewHolder, Events events, int position) {
eventsViewHolder.setDisplayName(events.getName());
eventsViewHolder.setUserStatus(events.getLocation());
// usersViewHolder.setUserImage(users.getThumb_image(), getApplicationContext());
final String event_id = getRef(position).getKey();
eventsViewHolder.mView2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//Intent profileIntent = new Intent(UsersActivity.this, ProfileActivity.class);
// profileIntent.putExtra("user_id", user_id);
// startActivity(profileIntent);
}
});
}
};
mEventList.setAdapter(firebaseRecyclerAdapter);
}
public static class EventsViewHolder extends RecyclerView.ViewHolder {
View mView2;
public EventsViewHolder(View itemView2) {
super(itemView2);
mView2 = itemView2;
}
public void setDisplayName(String name){
TextView userNameView = (TextView) mView2.findViewById(R.id.user_single_name);
userNameView.setText(name);
}
public void setUserStatus(String status){
TextView userStatusView = (TextView) mView2.findViewById(R.id.user_single_status);
userStatusView.setText(status);
}
}
}
}
事件类
public class Events {
public String name;
public String location;
public String time;
public Events(){
}
public Events(String name, String location, String time) {
this.name = name;
this.location = location;
this.time = time;
}
public String getName() {return name;}
public void setName(String name) {
this.name = name;
}
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
public String getTime() {return time;}
public void setTime(String time) {this.time = time;}
}
【问题讨论】:
标签: android listview firebase android-fragments firebase-realtime-database