【发布时间】:2012-02-09 14:47:56
【问题描述】:
我正在使用线程绘制所有对象和从视图扩展的自定义对象的动态壁纸。问题是我的自定义视图在点击时没有触发......
以下是代码片段:
在我的 WallpaperService 类中,将 OnTouch 分配给我的绘画线程:
@Override
public void onTouchEvent(MotionEvent event) {
super.onTouchEvent(event);
painting.doTouchEvent(event);
}
然后在我的 PaintingThread 的构造函数中创建自定义视图的实例:
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 做出反应之前就被捕获了?但是不知道为什么....
我希望我给了你所有需要的细节......
悠米
【问题讨论】:
-
看看这个解决方案:stackoverflow.com/a/17978891/779408
标签: android view onclick wallpaper