作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
每次我在 Activity
中更改我的 ListView
它都会跳到第一个
我首先使用这段代码来设置listView
listView.setAdapter(new ArrayAdapter<String>(this,
R.layout.home_row, R.id.home_row_price, items));
然后我想在 ListView 中添加更多数组,所以我使用
listView.setAdapter(new ArrayAdapter<String>(this,
R.layout.home_row, R.id.home_row_price, items));
再次使用 new String[] 项
但是每次它跳转到 listView 的第一个时我该怎么办?
最佳答案
首先使用 ArrayList 而不是 String 数组来存储数据。 ArrayList 可以动态更改(即它们可以动态更改大小)。不要为您的 ListView 设置匿名适配器,而是像这样:
adapter=new ArrayAdapter(MainActivity.this,android.R.layout.simple_list_item_1,arrayList);
lv=(ListView)findViewById(R.id.listView);
lv.setAdapter(adapter);
这里我使用 ArrayList 将数据设置为 ListView 。当您向 ListView 添加新项目时,请这样做:
arrayList.add(yourData);
...
adapter.notifyDataSetChanged();
adapter.notifyDataSetChanged() 方法将刷新 ListView ,而不会跳转到 ListView 中的第一项。
代码中的问题是每次更改数据时,都会为 ListView 设置一个新的适配器。因此,ListView 是“重置”而不是“刷新”。
关于java - 无需跳转即可更改 ListView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37208439/
这实际上是我问的问题的一部分here ,该问题没有得到答复,最终被标记为重复。 问题:我只需使用 @Autowired 注释即可使用 JavaMailSender。我没有通过任何配置类公开它。 @Co
我是一名优秀的程序员,十分优秀!