Android:哪个方法执行按钮的“onClick”事件,这些事件在XML布局中定义。

时间:2013-11-13 23:15:45

标签: android onclick method-call smali

我正在努力更好地理解Android框架,因此我创建了一个简单的App,它实际上只包含一个Button。只要点击此按钮,sendMessage中名为MainActivity的方法就会启动一个新活动DisplayMessageActivity,该活动会显示一个随机字符串。

我现在的问题是,按钮的onClick事件(在XML布局中定义)如何工作?!我明白,每当我点击我的按钮时,我定义的方法(android:onClick="sendMessage")都会被调用,但我真的好奇哪个方法最终会调用我的方法,因为显然没有调用我的方法语法中的方法。

我已经使用androguard将我的APK文件反编译为smalicode并搜索了我的sendMessage方法的调用。不幸的是,我找不到任何东西。

任何人都可以解释一下这个机制是如何运作的,因为根据这篇文章:

How exactly does the android:onClick XML attribute differ from setOnClickListener?

实际上应该有一个方法,最后调用我的onClick方法。

1 个答案:

答案 0 :(得分:1)

通过反思来完成。

如果您想确切知道谁在调用您的方法,请抛出异常并查看堆栈跟踪。