在使用翻新解析json时,我尝试获取数组的长度,但返回错误 android.content.res.Resources $ NotFoundException:字符串资源ID#0x1
这是我的代码。 JobBrowseAdapter.java
public class JobBrowseAdapter extends RecyclerView.Adapter<JobBrowseAdapter.MyViewHolder> {
private List<Job> jobList;
private Context mContext;
private String id;
public JobBrowseAdapter(Context mContext, List<Job> jobs) {
this.mContext = mContext;
this.jobList = jobs;
}
@Override
public MyViewHolder onCreateViewHolder( ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item_project, viewGroup, false);
return new MyViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull MyViewHolder myViewHolder, int i) {
Job job = jobList.get(i);
myViewHolder.title.setText(job.getTitle());
myViewHolder.skills.setText("Skills: " + job.getSkills());
myViewHolder.budget.setText(job.getBudget());
myViewHolder.bid.setText(job.getBid().size());
myViewHolder.parentLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Job job = jobList.get(i);
Toast.makeText(mContext, myViewHolder.title.getText(), Toast.LENGTH_SHORT).show();
Intent intent = new Intent(mContext, DetailsProjectActivity.class);
intent.putExtra("idProject", job.getId());
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(intent);
Toast.makeText(mContext, "Tes nih id nya: " + job.getId(), Toast.LENGTH_SHORT).show();
}
});
}
@Override
public int getItemCount() {
return jobList.size();
}
public class MyViewHolder extends RecyclerView.ViewHolder {
private TextView title;
private TextView skills;
private TextView budget;
private TextView bid;
private LinearLayout parentLayout;
private MyViewHolder(@NonNull View itemView) {
super(itemView);
title = (TextView)itemView.findViewById(R.id.tvTitleJob);
skills = (TextView)itemView.findViewById(R.id.tvSkillsJob);
budget = (TextView)itemView.findViewById(R.id.tvBudgetJob);
bid = (TextView)itemView.findViewById(R.id.tvBid_Project);
parentLayout = (LinearLayout)itemView.findViewById(R.id.parent_browse_project_layout);
}
}
}
我在 myViewHolder.bid.setText(job.getBid()。size()); 处收到错误。 我也尝试使用 myViewHolder.bid.setText(jobList()。size()); ,但它仍然给我同样的错误。 该如何解决?
答案 0 :(得分:0)
使用myViewHolder.bid.setText(String.valueOf(job.getBid().size()));
您正在尝试将非String值设置为setText()
方法,以使这种情况发生
答案 1 :(得分:0)
代替做
myViewHolder.bid.setText(job.getBid().size());
执行此操作
myViewHolder.bid.setText(String.valueOf(job.getBid().size()));
调用具有整数值的setText()
到textview将使它找到一个带有正在传递的资源ID的字符串。在您的代码中,您正在传递setText()
中列表的大小,并且无法在生成的R.string类中找到具有该ID的资源字符串。