Android 通过ListItem.add绘制listview始终返回一个位置=0
我有一个由3个元素组成的数组,我试图在listview中绘制它。问题是它只绘制第一个条目,因为getView总是返回一个position=0 为什么呢?我做错了什么 我的主要java(片段):Android 通过ListItem.add绘制listview始终返回一个位置=0,android,listview,Android,Listview,我有一个由3个元素组成的数组,我试图在listview中绘制它。问题是它只绘制第一个条目,因为getView总是返回一个position=0 为什么呢?我做错了什么 我的主要java(片段): 更改onActivityCreated方法,如下所示 @Override public void onActivityCreated(final Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); Strin
更改onActivityCreated方法,如下所示
@Override
public void onActivityCreated(final Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
String ip;
listPSGitem = new ArrayList<>();
listPSGitem.clear();
StoreDevDiscovery store = new StoreDevDiscovery();
// this is where I store the data
int count = store.getMax();
for(int i=0;i<count;i++){
ip = store.getIPDiscovery(i);
PSGitem item = new PSGitem();
item.setIp(ip);
listPSGitem.add(item);
}
psgAdapter = new PSGadaptater(getActivity(), listPSGitem);
list.setAdapter(psgAdapter);
}
@覆盖
已创建活动上的公共无效(最终捆绑包保存状态){
super.onActivityCreated(savedInstanceState);
字符串ip;
listPSGitem=newarraylist();
listPSGitem.clear();
StoreDevDiscovery store=新StoreDevDiscovery();
//这是我存储数据的地方
int count=store.getMax();
对于(int i=0;i而言,问题在于您正在从一组空项创建适配器:
listPSGitem = new ArrayList<>();
psgAdapter = new PSGadaptater(getActivity(), listPSGitem);
listPSGitem=newarraylist();
psgAdapter=新的psgAdapter(getActivity(),listPSGitem);
如果以后要向适配器添加项目,应将项目添加到适配器listIp
list变量,然后使用notifyDataSetChanged()让适配器知道此更改
method.没有更改。奇怪的是,第一个项目画得很好,但由于变量位置仍然等于0,因此没有更多的条目出现问题。我很惭愧地告诉你……事实上,我的list.xml包含的内容比我的适配器声明的多……对不起。有时你搜索东西时,它离你的眼睛很近。
public class PSGitem {
private String ip1;
public String getIp(){
return ip1;
}
public void setIp(String ip){
ip1 = ip;
}
}
@Override
public void onActivityCreated(final Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
String ip;
listPSGitem = new ArrayList<>();
listPSGitem.clear();
StoreDevDiscovery store = new StoreDevDiscovery();
// this is where I store the data
int count = store.getMax();
for(int i=0;i<count;i++){
ip = store.getIPDiscovery(i);
PSGitem item = new PSGitem();
item.setIp(ip);
listPSGitem.add(item);
}
psgAdapter = new PSGadaptater(getActivity(), listPSGitem);
list.setAdapter(psgAdapter);
}
listPSGitem = new ArrayList<>();
psgAdapter = new PSGadaptater(getActivity(), listPSGitem);