Android 水平循环视图
编辑:好几天来,我一直在误读把“.HORIZONTAL”放在哪里。在这里发布了前两个答案之后,我又回到了我用来澄清我对自己如何把事情搞得如此糟糕的理解的例子。现在,我看到了正确的用法,我无法让自己看到我曾经如何认为我的闪烁代码是有效的。 特别感谢peprumo和learnaholic 我一直在努力制作一个水平的RecyclerView卷轴 无论是在这里还是在教程中,相关的代码都会被插入MainActivity(或者运行RecyclerView的任何地方): 当我使用这段代码时,LinearLayoutManager.HORIZONTAL会被红线分隔,错误显示“无法解析符号‘HORIZONTAL’”,尽管这是Android Studio建议的一行 我在其他地方找到了一段不同的代码,我尝试了它,结果是:Android 水平循环视图,android,android-recyclerview,Android,Android Recyclerview,编辑:好几天来,我一直在误读把“.HORIZONTAL”放在哪里。在这里发布了前两个答案之后,我又回到了我用来澄清我对自己如何把事情搞得如此糟糕的理解的例子。现在,我看到了正确的用法,我无法让自己看到我曾经如何认为我的闪烁代码是有效的。 特别感谢peprumo和learnaholic 我一直在努力制作一个水平的RecyclerView卷轴 无论是在这里还是在教程中,相关的代码都会被插入MainActivity(或者运行RecyclerView的任何地方): 当我使用这段代码时,LinearLay
LinearLayoutManager layoutManager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);
recyclerView.setLayoutManager(layoutManager);
有人能解释为什么前者不起作用,错误消息的意思是什么,以及为什么后者起作用吗?顶部的一个正在尝试创建
LinearLayoutManager.HORIZONTAL
类的对象,该类不存在。
第二个是创建LinearLayoutManager
类的对象,然后将常量LinearLayoutManager.HORIZONTAL
作为第二个参数传递,该常量的值为0
只需在水平
关键字上按CTRL+单击
(Command+单击mac上的
)即可检查此项,您将看到在LinearLayoutManager
类中定义为:
public static final int HORIZONTAL = RecyclerView.HORIZONTAL;
public static final int HORIZONTAL = 0;
如果对RecyclerView.HORIZONTAL
执行相同的操作,您将在RecyclerView
类中看到其值:
public static final int HORIZONTAL = LinearLayout.HORIZONTAL;
在线性布局
类中定义为:
public static final int HORIZONTAL = RecyclerView.HORIZONTAL;
public static final int HORIZONTAL = 0;
是常量,在Java中不能从常量创建新对象。这就是编译器显示错误的原因