在我的安卓应用程序中,我创建了一些自定义视图(作为AppCompatImageView
的扩展),这些视图在类中有一个onClick
方法来执行一些动画。
当点击视图时,它会移动到屏幕上的某个点。但是,如果那里已经有一个视图(一个之前已经点击过的视图),我需要把它移走。我如何让轻击一个视图来调用一个方法(它可以是相同的方法,并且视图将属于相同的类),用于被轻击的按钮和任何(如果有的话)已经‘停靠’在这个位置的视图。
这些类有这个onClick
方法,它可以很好地工作:
public class CustomView extends AppCompatImageView implements View.OnClickListener {
private boolean docked;
...
@Override
public void onClick (View v) {
if (docked)
//Perform some action
else
//Perform another action
}
}
视图都属于同一个类,并在运行时在主活动中创建,然后添加到布局中。
有谁能建议解决这个问题的最好方法吗?
发布于 2018-01-17 13:33:04
如果你有一个已经被点击的视图,那么在这个视图上调用这个方法performClick()
来调用它的onClick()
方法。因此两个视图的(当前单击的和之前单击的) onClick()
方法都将调用。
发布于 2018-01-17 12:59:41
也许你可以使用BroadcastReceiver。点击视图时发送广播,其他视图将接收到该视图以进行移动。在同一个类中编写该BroadcastReceiver类。
https://stackoverflow.com/questions/48301379
复制