gpt4 book ai didi

java - 无法将新列表放入方法括号内

转载 作者:行者123 更新时间:2023-12-02 11:30:04 25 4
gpt4 key购买 nike

塞纳里奥:

所以我试图简化设置大量TextViews的用法通过将大量代码行合并为一行来隐藏,因此决定创建一种获取 List<TextView> 的方法并使它们全部隐形。我做了一个测试类来显示错误。 (问题如下)

方法:

 private void makeTextViewsInvisible(List<TextView> listOfTextViews){
int i= 0;
while(i < listOfTextViews.size()){
listOfTextViews.get(i).setVisibility(View.INVISIBLE);
i++;
}
}

使用方法:

makeTextViewsInvisible(new List<t1,t2,t3>()) ;
//Dose'nt work?
//I don't want to define : (List<TextView> a = new ...) And add TextViews manually (a.add(TextView1)...)
//I want to add all three TextViews in one line of code inside the brackets

问题是,我无法创建 new List在括号内,我需要制作一个全新的 List并添加所有 TextViews 手动(通过使用 List.add(); ),女巫并没有简化我的代码。有什么办法可以在括号内创建一个新的列表吗?

最佳答案

语法

makeTextViewsInvisible(new List())

不正确。您显然不了解 List 初始化的语法。如果您想将三个元素插入给定类型的列表(在您的情况下,我相信它将是 List<TextViews> ),您必须初始化它(类型 TextViews 的列表)。请注意,您可能不想实例化 List,因为它是一个接口(interface),您必须实现 List 接口(interface)的每个方法,例如 add(), get(), indexOf()等等我建议您通过ArrayList作为你的函数参数。假设 t1,t2,t3已定义 TextViews 类型的对象。实例化ArrayList<TextViews>您需要以下语法:

ArrayList<TextViews> exampleList= new ArrayList<>(Arrays.asList(t1,t2,t3));

您必须传递一个数组作为列表的构造函数,您可以使用 Arrays.asList() 轻松完成此操作静态方法。话虽如此,方法调用的语法如下所示:

makeTextViewsInvisible(new ArrayList<TextViews>(Arrays.asList(t1,t2,t3));

关于java - 无法将新列表放入方法括号内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49353687/

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