【发布时间】:2014-02-25 15:18:46
【问题描述】:
从 1.6 开始,在 Android 中实现按钮处理程序的一种方法是将其放在声明按钮的 XML 中。 . .
...
android:onClick="TheButtonHandler"
...
然后将处理程序例程放在 Activity 类中。 . .
public void TheButtonHandler(View target) {
// ... button handler code
}
我有一些 Android 代码,其中所有按钮都是在初始化期间在运行时用 Java 创建的,而不是在 XML 中,但我想做与上述 XML 相同的事情,包括指定按钮处理程序。 注意,我希望按钮处理程序位于它们自己的单独例程中,就像我在上面的示例中在 XML 中声明它们一样,我不希望按钮处理程序代码嵌入到我的初始化代码。
我见过使用 setOnClickListener 的示例,但处理程序代码始终是内嵌的,例如,
demoButton.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View arg0) {
// ... button handler code
}});
...这是我不想要的,因为这会将按钮处理程序代码放在初始化按钮的位置。 android:onClick 的 Java 运行时等效项是什么?
【问题讨论】:
-
所有回合都会导致
View.setOnClickListener()的使用...希望别无选择... -
@GopalRao 你为什么希望它?
-
谁投票决定关闭它,为什么?
-
@blackbelt 我没听懂你?对于
View.setOnClickListener()之外的动态创建的视图,android:onClick是否有任何替代方案? -
不,只有这些。但为什么是“希望”? @GopalRao
标签: android