显示的 Listview 项不应大于 20
Listview items displayed should not be greater than 20
如何将列表视图限制为仅显示 20
项,如果出现第 21 项,则最后一项将替换为第 21 项,以便一次仅显示 20
项。
我搜索了一下,发现如果我们像下面这样在适配器中写入,它只会显示 20
个项目
@Override
public int getCount() {
return 20;
}
但是如果我写这个应用程序强制关闭说 index 是 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()
如何将列表视图限制为仅显示 20
项,如果出现第 21 项,则最后一项将替换为第 21 项,以便一次仅显示 20
项。
我搜索了一下,发现如果我们像下面这样在适配器中写入,它只会显示 20
个项目
@Override
public int getCount() {
return 20;
}
但是如果我写这个应用程序强制关闭说 index 是 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()