Android - 自定义视图上的 OnClick 不触发
我正在制作一个动态壁纸,其中包含从视图扩展的所有对象和自定义对象的线程绘制。问题是我的自定义视图不会在单击时触发...
以下是代码片段:
在我的壁纸服务类中,OnTouch 被赋予我的绘画线程:
@Override
public void onTouchEvent(MotionEvent event) {
super.onTouchEvent(event);
painting.doTouchEvent(event);
}
然后在我的绘画线程的构造函数中,我正在创建我的绘画线程的实例自定义视图:
public LiveWallpaperPainting(SurfaceHolder surfaceHolder, Context context) {
for(int i = 0; i < numberOfObj;i++ ){
obj.add(new Obj(context,objBitmap, objBitmap2, mCanvasWidth, mCanvasHeight, 32, 32 , 20, 10));
}
然后在我的 Obj 的构造函数中:
super(context);
this.context = context;
this.setEnabled(true);
this.setFocusable(true);
this.setFocusableInTouchMode(true);
this.setClickable(true);
this.setOnClickListener(this);
该类实现 OnClickListener。
但是当我记录 onClick 时没有任何反应......:
@Override
public void onClick(View v) {
Log.d(TAG, "clicked");
}
我快疯了,因为我尝试了很多,但没有任何效果...... :( 请帮助我。 我认为 OnClick 在我的 Obj 做出反应之前就被捕获了?但不知道为什么......
我希望我给了你所有需要的细节......
Yumi
I'm working on a Livewallpaper with a Thread Painting all Objects and Custom Objects extended from View. The Problem is that my custom view doesn't fire on click....
Here are the Code Snippeds:
in my WallpaperService Class the OnTouch ist given to my Painting Thread:
@Override
public void onTouchEvent(MotionEvent event) {
super.onTouchEvent(event);
painting.doTouchEvent(event);
}
Then in the constructor of my PaintingThread I'm creating instances of my custom view:
public LiveWallpaperPainting(SurfaceHolder surfaceHolder, Context context) {
for(int i = 0; i < numberOfObj;i++ ){
obj.add(new Obj(context,objBitmap, objBitmap2, mCanvasWidth, mCanvasHeight, 32, 32 , 20, 10));
}
Then in the Constructor of my Obj:
super(context);
this.context = context;
this.setEnabled(true);
this.setFocusable(true);
this.setFocusableInTouchMode(true);
this.setClickable(true);
this.setOnClickListener(this);
The Class implements OnClickListener.
But when I'm logging the onClick nothing happens....:
@Override
public void onClick(View v) {
Log.d(TAG, "clicked");
}
I'm getting crazy because I tried so much, but nothing worked... :( Please help me.
I think the OnClick is catched before my Obj can react?? But don't know why....
I hope I gave you all details needed...
Yumi
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
以下代码有效。您的 Activity 上有其他 OnClickListener 吗?
主文件
The following code works. Have you on the Activity a other OnClickListener?
main.xml