0
我只是分享相關代碼:FirebaseUI NoSuchMethodException:
MainActivity:
RecyclerView recyclerView;
DatabaseReference databaseReference;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_todo);
Firebase.setAndroidContext(this);
databaseReference = FirebaseDatabase.getInstance().getReference();
recyclerView = (RecyclerView) findViewById(R.id.list);
recyclerView.setHasFixedSize(true);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
recyclerView.setLayoutManager(linearLayoutManager);
FirebaseRecyclerAdapter<Grupo,GruposAdapter.ViewHolder> adapter =
new FirebaseRecyclerAdapter<Grupo, GruposAdapter.ViewHolder>(
Grupo.class,
R.layout.item,
GruposAdapter.ViewHolder.class,
databaseReference.child("Grupos")
) {
@Override
protected void populateViewHolder(GruposAdapter.ViewHolder viewHolder, Grupo model, int position) {
viewHolder.id.setText(String.valueOf(model.getId()));
viewHolder.grupo.setText(model.getGroupname());
}
};
recyclerView.setAdapter(adapter);
}
錯誤:
04-19 14:50:52.886 22120-22120/datos.agregar.firebase.ejemplo.com.ejemploagregardatoscffirebase E/AndroidRuntime: FATAL EXCEPTION: main
Process: datos.agregar.firebase.ejemplo.com.ejemploagregardatoscffirebase, PID: 22120
java.lang.RuntimeException: java.lang.NoSuchMethodException: <init> [class android.view.View]
爲什麼NoSuchMethodException
?想法?
public static class ViewHolder extends RecyclerView.ViewHolder{
public TextView id,grupo;
public CardView cardview;
public ViewHolder(View itemView){
super(itemView);
id = (TextView) itemView.findViewById(R.id.idgrupo);
grupo = (TextView) itemView.findViewById(R.id.grupo);
cardview = (CardView) itemView.findViewById(R.id.cardview);
}
}
嗨,你是正確的,固定與內部類像靜態,但爲什麼?爲什麼我需要靜態類視圖? – josedlujan
因爲您將其作爲內部類添加到另一個類中。 Java的增加了一個隱含的字段,構造函數參數,這樣的類來引用包含的對象(例如,這時候你是指'MainActivity.this'在單擊處理您所使用的)。將「static」添加到該類將刪除該字段/參數。 –