[英]I can't solve this error. Can someone help me?
错误出现在最后一个单词“(name)”和UsersViewHolder.setName(users.getName());
,仅.setName
它说要在倒数第三个数据条中制作“静态”“ setName(String name)”,但是如果执行此操作,倒数第二个数据条中的mView
会出现错误。
package com.app.andre.easychat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.TextView;
import com.firebase.ui.database.FirebaseRecyclerAdapter;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import org.w3c.dom.Text;
public class UsersActivity extends AppCompatActivity {
private Toolbar mToolbar;
private RecyclerView users_list;
private DatabaseReference mdatabase;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_users);
mToolbar= (Toolbar) findViewById(R.id.user_appbar);
setSupportActionBar(mToolbar);
getSupportActionBar().setTitle("Tutti gli utenti");
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
mdatabase= FirebaseDatabase.getInstance().getReference().child("Users");
users_list = (RecyclerView) findViewById(R.id.users_list);
users_list.setHasFixedSize(true);
users_list.setLayoutManager(new LinearLayoutManager(this) );
}
@Override
protected void onStart() {
super.onStart();
FirebaseRecyclerAdapter<Users, UsersViewHolder> FirebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Users, UsersViewHolder>(
Users.class,
R.layout.name_list,
UsersViewHolder.class,
mdatabase
) {
@Override
protected void populateViewHolder(UsersViewHolder viewHolder, Users users, int position) {
UsersViewHolder.setName(users.getName());
}
};
users_list.setAdapter(FirebaseRecyclerAdapter);
}
public static class UsersViewHolder extends RecyclerView.ViewHolder {
View mView;
public UsersViewHolder(View itemView) {
super(itemView);
mView = itemView;}
public void setName(String name) {
TextView mUsernameView = (TextView) mView.findViewById(R.id.user_single_name);
mUsernameView.getText(name);
}
}
}
我觉得你需要
viewHolder.setName(users.getName());
代替
UsersViewHolder.setName(users.getName());
您试图将ViewHolder用作静态引用,而不是使用recyclerview适配器创建的类的实例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.