我正在做一个应用程序,我需要一个列表视图,其中每一行都有一些文本和一个图像按钮(只是为了删除每个按钮中具有相同图像的那一行)。在网上冲浪我有这个代码http://www.codemobiles.com/forum/viewtopic.php?t=876。因为这个代码还有一个图像,我删除了图像的代码。一切运行良好,但我正在尝试动态地完成列表,但我做不到。我创建了一个数组列表并将该代码修改为能够添加我的数组列表,所以现在我可以添加或删除项目(并且该部分有效,因为我试图只运行这部分代码)但我无法“重新绘制” . 我的想法是,如果我有这个适配器并且可以工作,让
adap = new EfficientAdapter(this);
setListAdapter(adap);
没有错误,但没有消息。我该怎么做?我还注意到,如果我有 0 行因为没有错误
public Object getItem(int position)
我返回一个空字符串数组,并在此方法中:
public int getCount()
我返回 0,但我有一排。我该如何解决?
我对这两种方法的代码是:
public int getCount() {
// TODO Auto-generated method stub
// My arraylist is data2. Because of I didn't know how to do
//an arraylist of n elements with 3 subelements in each element and then convert
// it to an array, I add every subelement one after one and then I don't mix subelements.
String [] cambio = (String[]) data2.toArray(new String[data2.size()]);
if (cambio.length == 0){
return 0;
}
String[] cambio2 = new String[cambio.length/3];
int j = 0;
for(int i=0;i<(cambio.length/3);i=i+3){
//that's because I need an output of a single string array and
// I need my subelements in this order
cambio2[j] = cambio[i+1] + " " + cambio[i+2] + " " + cambio[i];
j++;
}
return cambio2.length;
//return data.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
String [] cambio = (String[]) data2.toArray(new String[data2.size()]);
if (cambio.length == 0){
return cambio;
}
String[] cambio2 = new String[cambio.length/3];
int j = 0;
for(int i=0;i<(cambio.length/3);i=i+3){
cambio2[j] = cambio[i+1] + " " + cambio[i+2] + " " + cambio[i];
j++;
}
return cambio2[position];
//return data[position];
}
非常感谢您提前。