运行程序后,按键触屏全部没有反应public class ViewEvent extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new GameView(this));
}
}
public class GameView extends View implements Runnable {
Context mContext = null; public GameView(Context context) {
super(context);
mContext = context;
} @Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
switch (keyCode)
{
case KeyEvent.KEYCODE_DPAD_UP:
DisplayToast("按下:上键");
break;
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event)
{
switch(keyCode)
{
case KeyEvent.KEYCODE_DPAD_CENTER:
DisplayToast("弹起:中建");
break;
}
return super.onKeyUp(keyCode, event);
}
@Override
public boolean onTouchEvent(MotionEvent event)
{
int iAction = event.getAction();
if (iAction == MotionEvent.ACTION_CANCEL ||
iAction == MotionEvent.ACTION_DOWN ||
iAction == MotionEvent.ACTION_MOVE)
{
return false;
}
//获得触笔的位置
int x = (int)event.getX();
int y = (int)event.getY();
DisplayToast("触笔点击位置:(" + x + ", " + y + ")");
Log.e("GameView", "in onTouchEvent");
return super.onTouchEvent(event);
}
@Override
public void run() {
while (!Thread.currentThread().isInterrupted())
{
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
this.postInvalidate();
} }
public void DisplayToast(String str)
{
Toast.makeText(mContext, str, Toast.LENGTH_SHORT).show();
}}
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new GameView(this));
}
}
public class GameView extends View implements Runnable {
Context mContext = null; public GameView(Context context) {
super(context);
mContext = context;
} @Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
switch (keyCode)
{
case KeyEvent.KEYCODE_DPAD_UP:
DisplayToast("按下:上键");
break;
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event)
{
switch(keyCode)
{
case KeyEvent.KEYCODE_DPAD_CENTER:
DisplayToast("弹起:中建");
break;
}
return super.onKeyUp(keyCode, event);
}
@Override
public boolean onTouchEvent(MotionEvent event)
{
int iAction = event.getAction();
if (iAction == MotionEvent.ACTION_CANCEL ||
iAction == MotionEvent.ACTION_DOWN ||
iAction == MotionEvent.ACTION_MOVE)
{
return false;
}
//获得触笔的位置
int x = (int)event.getX();
int y = (int)event.getY();
DisplayToast("触笔点击位置:(" + x + ", " + y + ")");
Log.e("GameView", "in onTouchEvent");
return super.onTouchEvent(event);
}
@Override
public void run() {
while (!Thread.currentThread().isInterrupted())
{
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
this.postInvalidate();
} }
public void DisplayToast(String str)
{
Toast.makeText(mContext, str, Toast.LENGTH_SHORT).show();
}}
解决方案 »
- android视频通话实现方法,请教!!!
- 短信防火墙,进来帮帮忙吧
- 未联网的电脑,如何安装Android开发环境?
- 如何让预置进系统的apk在运行后其进程能不被杀死
- 我要好好学习,天天向上。于是我想学修改底层!
- 底层驱动ko文件能不能通过apk发布,现在都用insmod手工注入内核调试,它们该怎么发布啊?
- android中的@语句
- android 1.6 开发视频拍摄功能,如何限制视频时间或大小或截取视频
- android omap平台内核代码的编译问题 ,在线等
- 请问Android如何从云端服务器获取数据
- 如何在一个类中实现一个成员方法的响铃震动
- 请教androidi imageview点击丢失焦点问题
public GameView(Context context) {
super(context);
setClickable(true);
setFocusable(true);
mContext = context;
}
修改地方2:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
switch (keyCode)
{
case KeyEvent.KEYCODE_DPAD_UP:
DisplayToast("按下:上键");
break;
}
return false;
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event)
{
switch(keyCode)
{
case KeyEvent.KEYCODE_DPAD_CENTER:
DisplayToast("弹起:中建");
break;
}
return false;
}
@Override
public boolean onTouchEvent(MotionEvent event)
{
int iAction = event.getAction();
if (iAction == MotionEvent.ACTION_CANCEL ||
iAction == MotionEvent.ACTION_DOWN ||
iAction == MotionEvent.ACTION_MOVE)
{
return true;
}
//获得触笔的位置
int x = (int)event.getX();
int y = (int)event.getY();
DisplayToast("触笔点击位置:(" + x + ", " + y + ")");
Log.e("GameView", "in onTouchEvent");
return true;
}你都是return的super.(**);
不适用super.(**)的原因是什么啊?还有return true和return false的区别?感谢!