在ArrayList Adapter的区域外添加一个新项



所以我在这里有一个问题,如果我在另一个公共void外部或内部调用。add,在ArrayAdapter-ArrayList上添加一个新项目。我使用xml文件中的列表视图将其替换为ArrayList Adapter

这是我在onCreate之外的代码,就在AppCompatActivity下面:

List<String> recolis = new ArrayList<>();
String [] startinglist = {};
这是我在onCreate: 中的代码
ArrayList<String> recolis = new ArrayList<String>(Arrays.asList(startinglist));
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, recolis);
recolist.setAdapter(adapter);

所以我的问题是,每当我调用一个新的recolis.add("new");外onCreate或在另一个公共void。假设我有一个switch case,它会调用一个新的公共void &;insomnia();&;调用新的public void,其中包含。add函数

和内部"insomnia();"我想向数组列表中添加一个新项,但问题是它甚至不会添加。这是一个新的公共void

我试图找到任何相关的问题,但没有一个工作。我只是想在数组列表的区域之外添加一个新项。

我真的真的很感谢你的帮助。谢谢你!

在OnCreate函数中,您正在重新初始化您的recolis。此外,你的意思是键入recolist.setAdapter(adapter);? 从您提供的代码来看,您的意思似乎是recolis。不管怎样,不是ArrayList<String> recolis = new ArrayList<String>(Arrays.asList(startinglist));你应该做recolis = new ArrayList<String>(Arrays.asList(startinglist));这是因为当你对数组列表进行匹配时,Java会把它当作"哦,好吧,这是一个NEW变量,任何有这个名字的东西都只是巧合。"这意味着,当你去更新recolis时,它不会用适配器更新recolis,而是你在AppCompatActivity下面提供的那个,这意味着当它在添加时对于列表来说,它实际上没有任何进展。让我知道这是否有效!

相关内容

最新更新