Java 在xml中将参数传递给方法
我有几个按钮,每个按钮都调用自己的函数onClick。这些按钮指示滚动视图滚动到特定元素(如目录中的链接)。我有三种方法,每种方法都有几乎相同的代码;显然,最好在方法中传递要滚动到的视图 info_page.xml:Java 在xml中将参数传递给方法,java,android,xml,android-studio,android-layout,Java,Android,Xml,Android Studio,Android Layout,我有几个按钮,每个按钮都调用自己的函数onClick。这些按钮指示滚动视图滚动到特定元素(如目录中的链接)。我有三种方法,每种方法都有几乎相同的代码;显然,最好在方法中传递要滚动到的视图 info_page.xml: <TextView ... android:onClick="scrollToSetup" ... /> <TextView ... android:onClick="scrollToObje
<TextView
...
android:onClick="scrollToSetup"
... />
<TextView
...
android:onClick="scrollToObjective"
.../>
<TextView
...
android:onClick="scrollToGameplay"
.../>
<TextView
...
android:onClick"scrollTo","header_setup"
... />
<TextView
...
android:onClick"scrollTo","header_objective"
... />
<TextView
...
android:onClick"scrollTo","header_gameplay"
... />
我不太确定这到底是如何工作的,但希望是这样:
info_page.xml:
<TextView
...
android:onClick="scrollToSetup"
... />
<TextView
...
android:onClick="scrollToObjective"
.../>
<TextView
...
android:onClick="scrollToGameplay"
.../>
<TextView
...
android:onClick"scrollTo","header_setup"
... />
<TextView
...
android:onClick"scrollTo","header_objective"
... />
<TextView
...
android:onClick"scrollTo","header_gameplay"
... />
是否有人有任何方法可以做到这一点,或者指向我可以阅读的文档?非常感谢 您可以通过使用
数据绑定来实现这一点。然后将自定义的侦听器
传递给绑定
,例如,如果您想滚动到id为的视图(在相同的XML中)R.id.my_target_view1
您的XMLonClick
方法应该如下所示:
android:onClick='@{(v)->listener.scrollToGameplay(v,myTargetView1)}'
因为在生成绑定
时,生成器将snake\u案例
转换为camelCase
注意:我的建议可能有些过分,但我认为没有其他方法可以实现这一点