Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在onCreateViewHolder中找不到getRef(位置)_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

Android 在onCreateViewHolder中找不到getRef(位置)

Android 在onCreateViewHolder中找不到getRef(位置),android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我是android studio的新手,在onCreateViewHolder中获取参考(位置) getref未被识别为onCreateViewHolder内的命令 显示错误是否有解决问题的方法,尝试将用户信息检索到另一个页面,但遇到此问题 把这个错误处理一会儿,请尽快告诉我 公共类Main2活动扩展了AppCompative活动{ 回收视图myRecyclerView; MyAdapter适配器; 列表数据; FirebaseDatabaseFDB; 数据库参考数据库; android.su

我是android studio的新手,在onCreateViewHolder中获取参考(位置)

getref未被识别为onCreateViewHolder内的命令

显示错误是否有解决问题的方法,尝试将用户信息检索到另一个页面,但遇到此问题

把这个错误处理一会儿,请尽快告诉我

公共类Main2活动扩展了AppCompative活动{
回收视图myRecyclerView;
MyAdapter适配器;
列表数据;
FirebaseDatabaseFDB;
数据库参考数据库;
android.support.v7.widget.Toolbar mToolbar;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
mToolbar=(android.support.v7.widget.Toolbar)findviewbyd(R.id.register\u Toolbar);
设置支持操作栏(mToolbar);
getSupportActionBar().setTitle(“所有用户”);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
myRecyclerView=(RecyclerView)findViewById(R.id.MyRecycler);
myRecyclerView.setHasFixedSize(true);
RecyclerView.LayoutManager LM=新的LinearLayoutManager(getApplicationContext());
myRecyclerView.setLayoutManager(LM);
setItemAnimator(新的DefaultItemAnimator());
添加装饰(新的DividerItemDecoration(getApplicationContext(),LinearLayout.VERTICAL));
listData=newarraylist();
adapter=新的MyAdapter(getApplicationContext(),listData);
FDB=FirebaseDatabase.getInstance();
GetDataFirebase();
}
void GetDataFirebase(){
DBR=FDB.getReference(“用户”);
DBR.addChildEventListener(新的ChildEventListener(){
@凌驾
公共void onChildAdded(DataSnapshot DataSnapshot,字符串s){
MyDataGetSet数据=dataSnapshot.getValue(MyDataGetSet.class);
添加(数据);
myRecyclerView.setAdapter(适配器);
}
@凌驾
公共void onChildChanged(DataSnapshot DataSnapshot,字符串s)
{
对于(DataSnapshot childSnapshot:DataSnapshot.getChildren()){
字符串visit_user_id=childSnapshot.getKey();
}
}
@凌驾
ChildRemoved上的公共void(DataSnapshot DataSnapshot){
}
@凌驾
已移动ChildMoved上的公共void(DataSnapshot DataSnapshot,字符串s){
}
@凌驾
已取消的公共void(DatabaseError DatabaseError){
}
});
}
公共类MyAdapter扩展了RecyclerView.Adapter{
私人语境;
列表数组;
公共MyAdapter(上下文、列表){
this.context=context;
this.listary=List;
}
@非空
@凌驾
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup父级,int-viewType){
View View=LayoutInflater.from(parent.getContext()).flate(R.layout.itemview,parent,false);
返回新的MyViewHolder(视图);
}
@凌驾
public void onBindViewHolder(@NonNull MyAdapter.MyViewHolder,final int位置){
MyDataGetSet data=listArray.get(位置);
holder.MyText.setText(data.getUser_name());
holder.MyStatus.setText(data.getUser_status());
将(data.getUser\u thumb\u image())加载到(holder.MyImage)中;
holder.itemView.setOnClickListener(新视图.OnClickListener()
{
@凌驾
公共void onClick(视图)
{
字符串visit_user_id=getRef().getKey();
Intent profileintent=新的Intent(Main2Activity.this,ProfileActivity.class);
profileintent.putExtra(“访问用户id”,访问用户id);
星体触觉;
}
});
}
公共类MyViewHolder扩展了RecyclerView.ViewHolder{
文本查看我的文本;
文本视图MyStatus;
圆圈图像查看我的图像;
公共MyViewHolder(查看项目视图){
超级(项目视图);
MyText=(TextView)itemView.findViewById(R.id.TextView);
MyStatus=(TextView)itemView.findViewById(R.id.TextStatus);
MyImage=(CircleImageView)itemView.findViewById(R.id.TextImage);
}
}
@凌驾
public int getItemCount(){
返回listary.size();
}
}
}

要解决此问题,请更改以下代码行:

String visit_user_id =getRef().getKey();

现在有了一个
MyDataGetSet
类的对象,您可以获得如下密钥:

String visit_user_id = myDataGetSet.getVisitUserKey();
假设您已将该键存储在
myDataGetSet
对象中

MyDataGetSet myDataGetSet = getItem(position);
String visit_user_id = myDataGetSet.getVisitUserKey();