每当我在数组中添加一个新值时,它会在listview中创建两行,其中一行为空。当我删除数组中的值时,该值被删除但两行仍然存在。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listcontact); sharedPreferences=getSharedPreferences(preferences,Context.MODE_PRIVATE);
for(int i=1;i<=n+1;i++) {
String st=sharedPreferences.getString(String.valueOf(i), "");
conact_list.add(st);
}
ArrayAdapter adapter=new ArrayAdapter<String>(getBaseContext(),android.R.layout.simple_list_item_1,conact_list);
ListView cv= (ListView) findViewById(R.id.listview);
cv.setAdapter(adapter);
}
我检查过arraylist和arrayadapter都没有空值或额外的大小但是在列表视图中它显示如下:
日志:
04-25 12:40:31.491 30892-30892 / com.symbols.syedibrahim.phonetrack D / ERR:输入04-25 12:40:31.501 30892-30892 / com.symbols.syedibrahim.phonetrack D / ERR:+ 04-25 12:40:31.501 30892-30892 / com.symbols.syedibrahim.phonetrack D / ERR: +93838394 04-25 12:40:31.501 30892-30892 / com.symbols.syedibrahim.phonetrack D / ERR:+947574748 04-25 12:40:31.501 30892-30892 / com.symbols.syedibrahim.phonetrack D / ERR: +87478494 04-25 12:40:31.501 30892-30892 / com.symbols.syedibrahim.phonetrack D / ERR:aA 创建[93838394,947574748,87478494] 04-25 12:40:31.501 30892-30892 / com.symbols.syedibrahim.phonetrack D / ERR:lv3count3list 查看次数:0 04-25 12:40:31.501 30892-30892 / com.symbols.syedibrahim.phonetrack D / ERR:la
答案 0 :(得分:1)
以下是我的意见:
案例1 :检查视图中与您的项目匹配的数据对象的数量。这意味着在for(int i=1;i<=n+1;i++
中我们检查n的值,它是否等于视图中显示的数字项。
如果两个值相同,则应再次优先检查数据。
否则,转到案例2 :检查您的适配器,在适配器中,您应该检查getView
和getCount
方法。 getCount
返回的数字值必须与数据对象的数量相同。