============问题描述============
public class MyViewActivity extends ActionBarActivity{
private static final int REFRESH = 0x000001;
//声明GameView类对象
private GameView mGameView = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
//实例化GameView对象
mGameView = new GameView(this);
//设置我们自定义的View
setContentView(mGameView);
//开启线程
new Thread(new GameThread()).start();
}
/**
* 触笔事件
*/
public boolean onTouchEvent(MotionEvent event){
return true;
}
/**
* 按键按下事件
*/
public boolean onKeyDown(int keyCode,KeyEvent event){
if(keyCode == 4){
finish();
}
return true;
}
/**
* 按键弹起事件
*/
public boolean onKeyUp(int keyCode,KeyEvent event){
switch(keyCode){
case KeyEvent.KEYCODE_DPAD_UP:
mGameView.y-= 3;
break;
case KeyEvent.KEYCODE_DPAD_DOWN:
mGameView.y+= 3;
break;
}
return false;
}
/**
* 多点时间
*/
public boolean onKeyMultiple(int keyCode,int repeatCount,KeyEvent event){
return true;
}
Handler myHandler = new Handler(){
public void handleMessage(Message msg) {
switch(msg.what){
case REFRESH:
mGameView.invalidate();
break;
}
super.handleMessage(msg);
}
};
/**
* 更新线程
* @author yinhui
*
*/
class GameThread implements Runnable{
@Override
public void run() {
// TODO Auto-generated method stub
while(Thread.currentThread().isInterrupted()){
Message message = new Message();
message.what = MyViewActivity.REFRESH;
//发送消息
MyViewActivity.this.myHandler.sendMessage(message);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
Thread.currentThread().interrupt();
}
}
}
}
}public class