【问题标题】:Using setOnClickListener on layout在布局上使用 setOnClickListener
【发布时间】:2014-10-27 20:24:51
【问题描述】:
我是 android 的新手,我想知道如果我不在我的一个布局中使用“setOnClickListener”会发生什么,因为我的应用程序似乎仍然可以正常运行而没有任何错误。谁能给我解释一下?
示例:
myLayout = (LinearLayout) findViewById(R.id.myLayout);
myLayout.setOnClickListener(this);
myLayout2 = (LinearLayout) findViewById(R.id.myLayout2);
【问题讨论】:
标签:
android
android-layout
【解决方案1】:
当您将setOnClickListener 转换为this 时,这意味着当单击按钮或您的任何对象时,此活动将处理该事件(基本上决定之后发生的事情)。
您的代码仍在运行,因为如果您不想处理点击事件,则无需处理。没有onClickListener 不会使您的应用崩溃。
根据您要实现的目标,您可能不希望为 LinearLayout 处理点击事件。
【解决方案2】:
在 View 上调用 setOnClickListener(this) 会告诉 View 在单击该 View 时您想要回调(到 onClick(View))。
如果您不关心在单击该视图时收到回调,则无需调用setOnClickListener()。
大多数时候,您并不关心来自 ViewGroup 的点击事件,例如 LinearLayout。