我的recyclerView仅显示第一个用户数据。但是当我检查http://localhost/MyApi/public/allusers中的所有用户数据时,它以JSON格式显示6个用户数据
这是我的JSON图片 Json image
我的SingleTon课程
public class RetofitClient_SingleTone {
private static final String BASE_URL = "http://192.168.0.100/MyApi/public/";
private static RetofitClient_SingleTone mInstance;
private Retrofit retrofit;
public RetofitClient_SingleTone() {
retrofit=new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
public static synchronized RetofitClient_SingleTone getInstance(){
if (mInstance==null){
mInstance = new RetofitClient_SingleTone();
}
return mInstance;
}
public Api getApi(){
return retrofit.create(Api.class);
}
}
我的Api.class
public interface Api {
@GET("allusers")
Call<UsersResponse> getUsers();
}
2个模型类
1。我的UserResponse.class
public class UsersResponse {
@SerializedName("error")
@Expose
private Boolean error;
@SerializedName("users")
@Expose
private List<User> users = null;
public UsersResponse(boolean error, List<User> users) {
this.error = error;
this.users = users;
}
public boolean isError() {
return error;
}
public List<User> getUsers() {
return users;
}
}
2。我的User.class
public class User {
@SerializedName("id")
@Expose
private Integer id;
@SerializedName("email")
@Expose
private String email;
@SerializedName("name")
@Expose
private String name;
@SerializedName("school")
@Expose
private String school;
public User(int id, String email, String name, String school) {
this.id = id;
this.email = email;
this.name = name;
this.school = school;
}
public int getId() {
return id;
}
public String getEmail() {
return email;
}
public String getName() {
return name;
}
public String getSchool() {
return school;
}
}
我的适配器类Users_Adapter .class
public class Users_Adapter extends RecyclerView.Adapter<Users_Adapter.UserViewHolder> {
private Context context;
private List<User> userList;
public Users_Adapter(Context context, List<User> userList) {
this.context = context;
this.userList = userList;
}
@NonNull
@Override
public UserViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(context).inflate(R.layout.recyler_view_users, parent, false);
return new UserViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull UserViewHolder holder, int position) {
User user = userList.get(position);
Log.e("Name - - - -", "onBindViewHolder: "+user.getName() );
holder.name_TV.setText(user.getName());
holder.email_TV.setText(user.getEmail());
holder.school_TV.setText(user.getSchool());
}
@Override
public int getItemCount() {
return userList.size();
}
//create class that extend ViewHolder class
public class UserViewHolder extends RecyclerView.ViewHolder {
TextView name_TV;
TextView email_TV;
TextView school_TV;
public UserViewHolder(@NonNull View itemView) {
super(itemView);
name_TV = itemView.findViewById(R.id.texview_name);
email_TV = itemView.findViewById(R.id.texview_Email);
school_TV = itemView.findViewById(R.id.texview_school);
}
}
}
MY Fragment Class UsersFragment.class
public class UsersFragment extends Fragment{
RecyclerView recyclerView;
private Users_Adapter adapter;
private List<User> userList;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.users_fragment,container,false);
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
recyclerView=view.findViewById(R.id.recylerView_id);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
Call<UsersResponse> call= RetofitClient_SingleTone.getInstance().getApi().getUsers();
call.enqueue(new Callback<UsersResponse>() {
@Override
public void onResponse(Call<UsersResponse> call, Response<UsersResponse> response) {
userList = response.body().getUsers();
adapter=new Users_Adapter(getActivity(),userList);
recyclerView.setAdapter(adapter);
}
@Override
public void onFailure(Call<UsersResponse> call, Throwable t) {
}
});
}
}
我想在recyclerView中显示所有用户,但只显示第一个用户
应用程序屏幕短