显示的列表视图项不应大于 20



如何将列表视图限制为仅显示20项,如果出现第 21 项,则最后一项将替换为第 21 项,以便一次仅显示20项。

我搜索了它,发现如果我们像下面这样在适配器中编写,那么它只会显示20项目

@Override
public int getCount() {
    return 20;
}

但是如果我写这个,应用程序强制关闭说索引为 0,大小为 0。请帮我该怎么做

像这样:

@Override
public int getCount() {
return list.size > 20 : 20 ? list.size() ;
}

你可以使用这样的东西:

public class TestAdapter extends BaseAdapter {
    private static int sMaxArraySize = 20;
    private List<String> mData = new ArrayList<>(sMaxArraySize);
    public void addNewItem(String string) {
        if (mData.size() == sMaxArraySize) {
            mData.remove(0);
        }
        mData.add(string);
    }
    @Override
    public int getCount() {
        return mData.size();
    }
    @Override
    public Object getItem(int position) {
        return null;
    }
    @Override
    public long getItemId(int position) {
        return 0;
    }
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        return null;
    }
}

不要忘记在addNewItem()后致电notifyDataSetChanged()

最新更新