我正在尝试在片段中执行Firebase Recyclerview,但是没有显示任何数据。此片段位于导航抽屉内。我已经在一个有效的活动中进行了recyclelerview,但是片段没有数据出现
我的片段类
public class fUniversidade extends android.support.v4.app.Fragment {
final static String DB_URL = "https://vbook-3c75d.firebaseio.com/recycler_data";
EditText nameEditText;
Button saveBtn;
ArrayList<mUniversidade> informations = new ArrayList<>();
RecyclerView rv;
ViewAdapter adapter;
Firebase fire;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.f_universidade, container, false);
rv = (RecyclerView) rootView.findViewById(R.id.re_uni);
rv.setLayoutManager(new LinearLayoutManager(getActivity()));
rv.setHasFixedSize(true);
Firebase.setAndroidContext(getContext());
fire = new Firebase(DB_URL);
this.refreshData();
return rootView;
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
//you can set the title for your toolbar here for different fragments different titles
getActivity().setTitle("Universidade");
}
private void getUpdates(DataSnapshot dataSnapshot) {
informations.clear();
for(DataSnapshot ds: dataSnapshot.getChildren()){
mUniversidade i = new mUniversidade();
i.setNome(ds.getValue(mUniversidade.class).getNome());
informations.add(i);
}
if(informations.size()>0){
adapter = new ViewAdapter(getActivity().getApplicationContext(), informations);
rv.setAdapter(adapter);
}else{
Toast.makeText(getActivity().getApplicationContext(), "Sem dados", Toast.LENGTH_SHORT);
}
}
private void refreshData() {
fire.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
getUpdates(dataSnapshot);
}
@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(FirebaseError firebaseError) {
}
});
}
这是我的适配器
public class ViewAdapter extends RecyclerView.Adapter<MyViewHolder>{
Context c;
ArrayList<mUniversidade> information;
public ViewAdapter(Context c, ArrayList<mUniversidade> information) {
this.c = c;
this.information = information;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_universidade, parent, false);
MyViewHolder holder = new MyViewHolder(v);
return holder;
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
String name = information.get(position).getNome();
holder.nameTxt.setText(name);
}
@Override
public int getItemCount() {
return information.size();
}}
有人可以告诉我哪里出错了吗?