我正在努力更好地理解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
方法。
答案 0 :(得分:1)
通过反思来完成。
如果您想确切知道谁在调用您的方法,请抛出异常并查看堆栈跟踪。