Activity中用Button控件 调用 自定义 的GameView类中函数不响应。 本帖最后由 MilanShva 于 2011-04-12 11:27:38 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public boolean leftRotate(int i) { System.out.println("leftRotate被调用"); miDTX=-5; postInvalidate(); return true; } public boolean rightRotate() { System.out.println("rightRotate被调用"); miDTX=-5;你这个左右都是减5啊,如果位置小于0会报错的 package com.lyx.Activity;两个都在一个包里面吗?还是在activity里导入这个GameView包了? postInvalidate 是谁实现的 ? 你直接改成 this.invalidate();你这个问题一般就是GameView没有重画引起的. 还有,这位老兄,知道你要写个游戏了.不过你为什么不用游戏引擎呢? 这些都给你封装好了...推荐用Angle 这个比较简单, 也可以用 Rokon 仁兄,this.invalidate();报错,提示没有这个方法。报错04-12 14:33:31.547: ERROR/ActivityThread(1257): start dispatch OnReceive message,mRegistered=true mCurOrdered=false intent=Intent { act=android.intent.action.SIG_STR (has extras) } receiver = com.android.phone.BluetoothHandsfree$BluetoothPhoneState$2@2fcb0f4804-12 14:33:31.547: ERROR/ActivityThread(1257): exit dispatch OnReceive message,mRegistered=true mCurOrdered=false04-12 14:33:36.017: ERROR/ActivityThread(1257): start dispatch OnReceive message,mRegistered=true mCurOrdered=false intent=Intent { act=android.intent.action.SIG_STR (has extras) } receiver = com.android.phone.BluetoothHandsfree$BluetoothPhoneState$2@2fcb0f4804-12 14:33:36.017: ERROR/ActivityThread(1257): exit dispatch OnReceive message,mRegistered=true mCurOrdered=false04-12 14:33:41.027: ERROR/ActivityThread(12141): enter process activity msg= 12004-12 14:33:41.027: ERROR/ActivityThread(12141): exit process activity msg= 12004-12 14:33:42.747: ERROR/ActivityThread(1257): start dispatch OnReceive message,mRegistered=true mCurOrdered=false intent=Intent { act=android.intent.action.SIG_STR (has extras) } receiver = com.android.phone.BluetoothHandsfree$BluetoothPhoneState$2@2fcb0f4804-12 14:33:42.747: ERROR/ActivityThread(1257): exit dispatch OnReceive message,mRegistered=true mCurOrdered=false04-12 14:33:47.217: ERROR/ActivityThread(1257): start dispatch OnReceive message,mRegistered=true mCurOrdered=false intent=Intent { act=android.intent.action.SIG_STR (has extras) } receiver = com.android.phone.BluetoothHandsfree$BluetoothPhoneState$2@2fcb0f4804-12 14:33:47.217: ERROR/ActivityThread(1257): exit dispatch OnReceive message,mRegistered=true mCurOrdered=false04-12 14:33:51.707: ERROR/ActivityThread(1257): start dispatch OnReceive message,mRegistered=true mCurOrdered=false intent=Intent { act=android.intent.action.SIG_STR (has extras) } receiver = com.android.phone.BluetoothHandsfree$BluetoothPhoneState$2@2fcb0f4804-12 14:33:51.707: ERROR/ActivityThread(1257): exit dispatch OnReceive message,mRegistered=true mCurOrdered=false04-12 14:33:58.427: ERROR/ActivityThread(1257): start dispatch OnReceive message,mRegistered=true mCurOrdered=false intent=Intent { act=android.intent.action.SIG_STR (has extras) } receiver = com.android.phone.BluetoothHandsfree$BluetoothPhoneState$2@2fcb0f48 invalidate 是 View类的一个方法. 你那个postInvlidate我查了确实有这个方法,也是用来重画的. 你找不到这个invalidate ? 你在什么地方用的?不是在你的GameView中么? 如果不是,那么要加GameView的引用mGameView.invalidate(); 你调试的时候加个断点看看,这句话执行了么? 然后再onDraw上加断电,看看OnDraw画了么. 移动app开发的选择 4.0 以后home键、menu键截获问题,高手进 android使用第三方jar包,运行时找不到class:NoClassDefFoundError错误 关于更新UI的问题 ndk配置出错 SDK1.5 自制发送短信程序真机测试发生诡异问题 Android 模拟器运行 各种room,求助!! Android4.4以后无法在挂载的SD卡上随意创建目录 android socket 问题请教,在线等! 用Gson解析复杂的Json遇到很大的问题,请各位高手来助阵,拜托了。 关于不同分辩率的问题 请教4.3.1-eabi-armv6 交叉编译工具如何建立
{
System.out.println("leftRotate被调用");
miDTX=-5;
postInvalidate();
return true;
}
public boolean rightRotate()
{
System.out.println("rightRotate被调用");
miDTX=-5;
你这个左右都是减5啊,如果位置小于0会报错的
报错
04-12 14:33:31.547: ERROR/ActivityThread(1257): start dispatch OnReceive message,mRegistered=true mCurOrdered=false intent=Intent { act=android.intent.action.SIG_STR (has extras) } receiver = com.android.phone.BluetoothHandsfree$BluetoothPhoneState$2@2fcb0f48
04-12 14:33:31.547: ERROR/ActivityThread(1257): exit dispatch OnReceive message,mRegistered=true mCurOrdered=false
04-12 14:33:36.017: ERROR/ActivityThread(1257): start dispatch OnReceive message,mRegistered=true mCurOrdered=false intent=Intent { act=android.intent.action.SIG_STR (has extras) } receiver = com.android.phone.BluetoothHandsfree$BluetoothPhoneState$2@2fcb0f48
04-12 14:33:36.017: ERROR/ActivityThread(1257): exit dispatch OnReceive message,mRegistered=true mCurOrdered=false
04-12 14:33:41.027: ERROR/ActivityThread(12141): enter process activity msg= 120
04-12 14:33:41.027: ERROR/ActivityThread(12141): exit process activity msg= 120
04-12 14:33:42.747: ERROR/ActivityThread(1257): start dispatch OnReceive message,mRegistered=true mCurOrdered=false intent=Intent { act=android.intent.action.SIG_STR (has extras) } receiver = com.android.phone.BluetoothHandsfree$BluetoothPhoneState$2@2fcb0f48
04-12 14:33:42.747: ERROR/ActivityThread(1257): exit dispatch OnReceive message,mRegistered=true mCurOrdered=false
04-12 14:33:47.217: ERROR/ActivityThread(1257): start dispatch OnReceive message,mRegistered=true mCurOrdered=false intent=Intent { act=android.intent.action.SIG_STR (has extras) } receiver = com.android.phone.BluetoothHandsfree$BluetoothPhoneState$2@2fcb0f48
04-12 14:33:47.217: ERROR/ActivityThread(1257): exit dispatch OnReceive message,mRegistered=true mCurOrdered=false
04-12 14:33:51.707: ERROR/ActivityThread(1257): start dispatch OnReceive message,mRegistered=true mCurOrdered=false intent=Intent { act=android.intent.action.SIG_STR (has extras) } receiver = com.android.phone.BluetoothHandsfree$BluetoothPhoneState$2@2fcb0f48
04-12 14:33:51.707: ERROR/ActivityThread(1257): exit dispatch OnReceive message,mRegistered=true mCurOrdered=false
04-12 14:33:58.427: ERROR/ActivityThread(1257): start dispatch OnReceive message,mRegistered=true mCurOrdered=false intent=Intent { act=android.intent.action.SIG_STR (has extras) } receiver = com.android.phone.BluetoothHandsfree$BluetoothPhoneState$2@2fcb0f48
invalidate 是 View类的一个方法. 你那个postInvlidate我查了确实有这个方法,也是用来重画的. 你找不到这个invalidate ? 你在什么地方用的?不是在你的GameView中么? 如果不是,那么要加GameView的引用mGameView.invalidate(); 你调试的时候加个断点看看,这句话执行了么? 然后再onDraw上加断电,看看OnDraw画了么.