【发布时间】:2022-02-05 11:14:47
【问题描述】:
我只是在练习 RecyclerView。当我运行应用程序时,我的应用程序崩溃了,我检查了日志,但我无法理解问题可以帮助我等待有人回复吗?
public class CustomAdapter extends RecyclerView.Adapter<CustomAdapter.ViewHolder> {
private model[] localDataSet;
private TextView name,number;
public static class ViewHolder extends RecyclerView.ViewHolder {
private final TextView textView;
public ViewHolder(View view) {
super(view);
textView = (TextView) view.findViewById(R.id.name);
}
public TextView getTextView() {
return textView;
}
}
public CustomAdapter(model[] dataSet) {
localDataSet = dataSet;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {
// Create a new view, which defines the UI of the list item
View view = LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.contacx, viewGroup, false);
view.findViewById(R.id.name);
view.findViewById(R.id.number);
return new ViewHolder(view);
}
// Replace the contents of a view (invoked by the layout manager)
@Override
public void onBindViewHolder(ViewHolder viewHolder, final int position) {
name.setText(localDataSet[position].getName());
number.setText(localDataSet[position].getPhone());
}
@Override
public int getItemCount() {
return localDataSet.length;
}
}
【问题讨论】:
-
您的
name和number字段未正确初始化。你能发布你的完整适配器的代码吗? -
我认为你应该使用 holder.name.setText(localDataSet[position].getName());并且,holder.number.setText(String.valueOf(localDataSet[position].getPhone()));
-
@LucaPizzini 请检查一下
-
@RudraRokaya 它不工作
-
能否请您发布您的模型/实体类。
标签: java android android-studio android-layout