gpt4 book ai didi

java - 无需跳转即可更改 ListView

转载 作者:搜寻专家 更新时间:2023-11-01 07:49:27 26 4
gpt4 key购买 nike

每次我在 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com