我正在尝试创建一个显示带有ArrayAdapter的列表的简单应用程序,但列表中没有显示任何内容(调试器显示它已正确填充)。
你能帮我弄清楚出了什么问题吗?
适配器代码:
public class ListAdapter extends ArrayAdapter<Item> {
private Context mContext;
private List<Item> ffList = new ArrayList<>();
public ListAdapter(Context context, ArrayList<Item> list) {
super(context, 0, list);
mContext = context;
ffList = list;
}
public View getView(int position, View convertView, ViewGroup parent) {
View listMember = convertView;
if (listMember == null)
listMember = LayoutInflater.from(mContext).inflate(R.layout.list_member, parent, false);
Item currentFile = ffList.get(position);
ImageView image = (ImageView) listMember.findViewById(R.id.imgIcon);
TextView txtTitle = listMember.findViewById(R.id.txtTitle);
if (currentFile.isUpload()) {
image.setImageResource(R.drawable.upload);
} else {
image.setImageResource(R.drawable.download);
}
txtTitle.setText(currentFile.toString());
return listMember;
}
}
onCreate()方法中的代码显示列表
mFileList = findViewById(R.id.list);
ArrayList<Item> listOfFiles = new ArrayList<>();
listOfFiles.add(new Item("Name","0k", true, "", false));
listOfFiles.add(new Item("Name2","1k", false, "", false));
mAdapter = new ListAdapter(this, listOfFiles);
mFileList.setAdapter(mAdapter);
答案 0 :(得分:0)
错误在于保护列表。它是私有的,因此适配器无法检测并对其进行充气。 我希望这可以帮助其他心不在焉的人作为我。