gpt4 book ai didi

android - 在其他类中定义 onClick 方法

转载 作者:行者123 更新时间:2023-11-29 00:24:14 25 4
gpt4 key购买 nike

使用 xml 我可以定义一个 onClick 方法,当我点击 View 时调用该方法:

android:onclick="onClick"
public void onClick(View v)

这个方法必须定义在Activity类中,是可见的。现在我有许多具有不同 onClick 方法的控件。这使得 Activity 类非常困惑,那么有没有办法在其他类中定义这个方法?

当然,我可以在类本身中使用不同的类或 onClickListener,但使用 xml 非常简单。 onClickListeners 带来了一些“未使用的代码”,因为 Java 目前没有 lamda 表达式,这也让它变得困惑。我认为 xml 是一种快速而清晰的方法,但如果您现在有这么多方法,就不是这样了。

最佳答案

查看源代码,它看起来一定是类中的一个方法,它扩展了创建 View 的 Context 类:

http://androidxref.com/4.4_r1/xref/frameworks/base/core/java/android/view/View.java#3780

查看这一行:

getContext().getClass().getMethod( ... )

正在对 getContext() 进行反射

您可以按照其他答案的建议进行操作,打开 View ID,并调用其他类中的函数。或者,如果您的应用很复杂,也许可以将您的布局分成多个 fragment ?

关于android - 在其他类中定义 onClick 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20889065/

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