0
因爲我想使用RecyclerView和firebase,我已經閱讀了很多關於recyclerview的firebase數據庫適配器,但我不確定在源代碼中是否有任何錯誤。它不會編譯。任何人都可以給我一些建議嗎?recyclerview和firebase無法編譯
Move.java
public class Movie {
private String name;
public Movie(String name) {
}
public Movie(String name, String tel) {
this.name = name;
// this.tel = tel;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
MoviesAdapter.java
public class MoviesAdapter extends RecyclerView.Adapter<MoviesAdapter.MyViewHolder> {
private List<Movie> moviesList;
public MoviesAdapter() {
}
public class MyViewHolder extends RecyclerView.ViewHolder {
public TextView title, year, genre;
public MyViewHolder(View view) {
super(view);
title = (TextView) view.findViewById(R.id.tv_name);
// genre = (TextView) view.findViewById(R.id.tv_phone);
}
}
public MoviesAdapter(List<Movie> moviesList) {
this.moviesList = moviesList;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.row, parent, false);
return new MyViewHolder(itemView);
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
Movie movie = moviesList.get(position);
holder.title.setText(movie.getName());
// holder.genre.setText(movie.getTel());
}
@Override
public int getItemCount() {
return moviesList.size();
}
}
MainActivity.java
public class MainActivity extends AppCompatActivity {
private RecyclerView recyclerView;
private List<String> movieList = new ArrayList<>();
private MoviesAdapter mAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
recyclerView = (RecyclerView) findViewById(R.id.recycler);
mAdapter = new MoviesAdapter();
RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getApplicationContext());
recyclerView.setLayoutManager(mLayoutManager);
recyclerView.setItemAnimator(new DefaultItemAnimator());
recyclerView.setAdapter(mAdapter);
DatabaseReference reference_contacts = FirebaseDatabase.getInstance().getReference("contacts");
reference_contacts.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
movieList.clear();
for (DataSnapshot ds : dataSnapshot.getChildren()){
movieList.add(ds.child("name").getValue().toString());
mAdapter.notifyDataSetChanged();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
}
在哪裏編譯錯誤?如果你缺少firebase和recyclerview依賴關係,請顯示你的gradle文件。 –
post stacktrace – mayosk
請添加錯誤代碼,我們可以給出相應的解決方案。根據你的模型類中的代碼片段,你沒有定義一個空的構造函數。所以,如果你得到像缺少一個沒有參數的構造函數的錯誤,那麼請先定義空的構造函數。祝你好運!! –