Java 回收商查看无回收照片、姓名和状态,如何解决?
您好,我使用firebaserealtime通过查询实现了搜索,但现在它不显示姓名、照片或状态,执行搜索时会显示标准缩略图/配置文件,单击搜索的项目实际上就是源项目。我只是无法显示姓名、照片和状态数据。有人能帮我把onstart放进去,但没用。事先非常感谢。欢迎任何帮助。在实施之前,会显示照片、名称和状态。我做错了什么 调试中 getName或getStatus无返回数据:( 但是,如果我按用户名进行搜索,当我单击搜索时,单击事件中的搜索结果与搜索名称对应。是,它可以工作。问题->但它只是不显示照片、名称和状态 数据库结构 我的活动代码:Java 回收商查看无回收照片、姓名和状态,如何解决?,java,android,firebase-realtime-database,Java,Android,Firebase Realtime Database,您好,我使用firebaserealtime通过查询实现了搜索,但现在它不显示姓名、照片或状态,执行搜索时会显示标准缩略图/配置文件,单击搜索的项目实际上就是源项目。我只是无法显示姓名、照片和状态数据。有人能帮我把onstart放进去,但没用。事先非常感谢。欢迎任何帮助。在实施之前,会显示照片、名称和状态。我做错了什么 调试中 getName或getStatus无返回数据:( 但是,如果我按用户名进行搜索,当我单击搜索时,单击事件中的搜索结果与搜索名称对应。是,它可以工作。问题->但它只是不显示
public class FindFriendsActivity extends AppCompatActivity
{
FirebaseRecyclerAdapter<Contacts, FindFriendViewHolder> adapter;
private Toolbar mToolbar;
private RecyclerView FindFriendsRecyclerList;
private DatabaseReference UsersRef;
private SearchView searchView;
private Query query;
private FirebaseRecyclerOptions<Contacts> options;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_find_friends);
UsersRef = FirebaseDatabase.getInstance().getReference().child("Users");
FindFriendsRecyclerList = (RecyclerView) findViewById(R.id.find_friends_recycler_list);
FindFriendsRecyclerList.setLayoutManager(new LinearLayoutManager(this));
mToolbar = (Toolbar) findViewById(R.id.find_friends_toolbar);
setSupportActionBar(mToolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setTitle("Find Friends");
searchView = findViewById(R.id.materialSearchPrincipal);
}
private void fetch(Query query) {
FirebaseRecyclerOptions<Contacts > options =
new FirebaseRecyclerOptions.Builder<Contacts>()
.setQuery(query, new SnapshotParser<Contacts>() {
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
@NonNull
@Override
public Contacts parseSnapshot(@NonNull DataSnapshot snapshot) {
return new Contacts(Objects.requireNonNull(snapshot.child("name").getValue()).toString(),
Objects.requireNonNull(snapshot.child("status").getValue()).toString());
}
})
.build();
adapter = new FirebaseRecyclerAdapter<Contacts, FindFriendViewHolder>(options) {
@Override
protected void onBindViewHolder(@NonNull FindFriendViewHolder holder, final int position, @NonNull Contacts model)
{
holder.userName.setText(model.getName());
holder.userStatus.setText(model.getStatus());
Picasso.get().load(model.getImage()).placeholder(R.drawable.profile_image).into(holder.profileImage);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view)
{
String visit_user_id = getRef(position).getKey();
Intent profileIntent = new Intent(FindFriendsActivity.this, ProfileActivity.class);
profileIntent.putExtra("visit_user_id", visit_user_id);
startActivity(profileIntent);
}
});
}
@NonNull
@Override
public FindFriendViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i)
{
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.users_display_layout, viewGroup, false);
FindFriendViewHolder viewHolder = new FindFriendViewHolder(view);
return viewHolder;
}
};
adapter.startListening();
FindFriendsRecyclerList.setAdapter(adapter);
}
@Override
protected void onStart()
{
super.onStart();
UsersRef = FirebaseDatabase.getInstance().getReference().child("Users");
Query query = FirebaseDatabase.getInstance().getReference().child("Users");
fetch(query);
adapter.startListening();
}
public static class FindFriendViewHolder extends RecyclerView.ViewHolder
{
TextView userName, userStatus;
CircleImageView profileImage;
FindFriendViewHolder(@NonNull View itemView)
{
super(itemView);
userName = itemView.findViewById(R.id.user_profile_name);
userStatus = itemView.findViewById(R.id.user_status);
profileImage = itemView.findViewById(R.id.users_profile_image);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
super.onCreateOptionsMenu(menu);
searchView.setOnQueryTextListener(new androidx.appcompat.widget.SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
return false;
}
@Override
public boolean onQueryTextChange(String s) {
Query query = FirebaseDatabase.getInstance()
.getReference()
.child("Users").orderByChild("name").equalTo(s);
if(s.equals("")){
query = FirebaseDatabase.getInstance()
.getReference()
.child("Users");
}
fetch(query);
return false;
}
});
return super.onCreateOptionsMenu(menu);
}
}
请编辑您的问题将您的数据库结构添加为JSON文件或至少一个屏幕截图。@Alex Mamo Hi感谢您的回答。如果您尝试记录
snapshot.child(“status”).getValue())。toString()
是否在logcat中打印出来?是返回用户信息。名称、照片状态等…在onBindViewHolder
方法中,返回什么model.getName()
?
public class Contacts {
public String name, status, image;
public Contacts(String name, String status)
{
}
public Contacts(String name, String status, String image) {
this.name = name;
this.status = status;
this.image = image;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
}