【发布时间】:2018-01-06 15:53:06
【问题描述】:
大家好,我正在 android studio 上开发一个示例项目,我是这方面的初学者。我遇到了一个错误,请帮助解决这个问题。
错误
Error:(54, 68) 错误:类 FirebaseRecyclerAdapter 中的构造函数 FirebaseRecyclerAdapter 不能应用于给定类型; 必需:FirebaseRecyclerOptions 找到:类,int,类,数据库引用 原因:实际参数列表和形式参数列表的长度不同 其中 T,VH 是类型变量: T 扩展类 FirebaseRecyclerAdapter 中声明的 Object VH 扩展了在 FirebaseRecyclerAdapter 类中声明的 ViewHolder
Error:(62, 50) error: 找不到符号方法getContent()
主要代码如下
MainActivity()
package com.hof_university.chethan.chatmessenger;
import android.os.Message;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.TextView;
import com.firebase.ui.database.FirebaseRecyclerAdapter;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
public class MainActivity extends AppCompatActivity {
private EditText editMessage;
private DatabaseReference mDatabase;
private RecyclerView mMessageList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editMessage = (EditText) findViewById(R.id.editMessageE);
mDatabase = FirebaseDatabase.getInstance().getReference().child("Messages");
mMessageList = (RecyclerView) findViewById(R.id.messageRec);
mMessageList.setHasFixedSize(true);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
linearLayoutManager.setStackFromEnd(true);
mMessageList.setLayoutManager(linearLayoutManager);
}
public void sendButtonClicked(View view){
final String messageValue = editMessage.getText().toString().trim();
if (!TextUtils.isEmpty(messageValue)){
final DatabaseReference newPost = mDatabase.push();
newPost.child("content").setValue(messageValue);
}
}
@Override
protected void onStart(){
super.onStart();
FirebaseRecyclerAdapter <Message,MessageViewHolder> FBRA = new FirebaseRecyclerAdapter<Message, MessageViewHolder>(
Messages.class,
R.layout.singlemessagelayout,
MessageViewHolder.class,
mDatabase
) {
@Override
protected void onBindViewHolder(@NonNull MessageViewHolder viewHolder, int position, @NonNull Message model) {
viewHolder.setContent(model.getContent());
}
@Override
public MessageViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
return null;
}
};
mMessageList.setAdapter(FBRA);
}
public static class MessageViewHolder extends RecyclerView.ViewHolder {
View mView;
public MessageViewHolder(View itemView) {
super(itemView);
mView = itemView;
}
public void setContent(String content){
TextView message_content = (TextView) mView.findViewById(R.id.messageText);
message_content.setText(content);
}
}
}
请帮我解决错误。
【问题讨论】:
标签: android