【问题标题】:Can't see Listview with ArrayAdapter in Android在 Android 中看不到带有 ArrayAdapter 的 Listview
【发布时间】:2018-06-17 14:27:29
【问题描述】:

我正在尝试制作一个简单的应用来显示带有 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);

【问题讨论】:

    标签: android android-arrayadapter listadapter


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多