在Android中无法使用ArrayAdapter查看Listview

时间:2018-06-17 14:27:29

标签: android android-arrayadapter listadapter

我正在尝试创建一个显示带有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);

1 个答案:

答案 0 :(得分:0)

错误在于保护列表。它是私有的,因此适配器无法检测并对其进行充气。 我希望这可以帮助其他心不在焉的人作为我。