你可以做以下
public class MainActivity extends Activity implements OnTouchListener{
GUI gui;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
gui = new GUI(MainActivity.this);
setContentView(gui);
gui.setOnTouchListener(this);
}
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
Log.w("AA","Hello")
return true;
}
或者你可以重寫onTouch在GUI視圖
public class GUI extends View{
Context mcontext;
public MyView(Context context) {
super(context);
mcontext=context;
}
@Override
public boolean onTouchEvent(MotionEvent event) {
Toast.makeText(mcontext, "View clicked", 1000).show();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
// do something
break;
case MotionEvent.ACTION_MOVE:
// do something
break;
case MotionEvent.ACTION_UP:
//do something
break;
}
return true;
}
由於Luksprog評論這是指對當前上下文。
如果你這樣做gui.setOnTouchListener(this);
您的活動類必須實現OnTouchListener並覆蓋onTouch方法。
您也可以在自定義視圖中覆蓋onTouch。
如果您只是重寫onTouch,則無需在GUI自定義視圖類中實現OnTouchListener。
使用'this'假設Activity是實現'OnTouchListener'的Activity,並且將觸發事件。 – Luksprog 2013-05-12 10:25:17
我希望視圖有一個OnTouchListener – KeirDavis 2013-05-12 11:03:05