0
對於我Buttons
onClickListener
我有以下代碼:掃動手勢不承認
on_enter_button.setOnClickListener(
new View.OnClickListener()
{
public void onClick(View view)
{
enter(words, linearLayout, llp, view);
}
});
而不是按下Enter鍵Button
,我只是想Swipe
屏幕在任何方向和運行相同的方法:enter(words, linearLayout, llp, view);
目前我認爲我的程序根本不識別Swipe
手勢。我認爲這是因爲我錯誤地放置了enter(words, linearLayout, llp, view);
。另外,我把所有Gesture
識別碼放在onCreate()
之內。這是編寫代碼的正確方法嗎?
有人可以幫忙嗎?
編輯的代碼:
public class Game extends Activity{
public void enter(String[] w, LinearLayout ll, LinearLayout.LayoutParams params, View v){
... //some code
... //some code
... //some code
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return myGestureDetector.onTouchEvent(event);
//error myGestureDetector not recognized since it's created in onCreate so it does not exist here
}
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.game_activity);
SimpleOnGestureListener mySimpleGestureListener = new SimpleOnGestureListener()
{
@Override
public boolean onDoubleTap(MotionEvent e) {
return super.onDoubleTap(e);
}
@Override
//swipe does not work!
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,float velocityY)
{
enter(words, linearLayout, llp, view);
return super.onFling(e1, e2, velocityX, velocityY);
}
@Override
public void onLongPress(MotionEvent e) {
super.onLongPress(e);
}
@Override
public boolean onSingleTapConfirmed(MotionEvent e) {
return super.onSingleTapConfirmed(e);
}
private boolean permissibleYVelocity(float velocityY)
{
if ((velocityY < -200) || (velocityY > 200))
{
return false;
}
else
{
return true;
}
}
};
final GestureDetector myGestureDetector = new GestureDetector(getApplicationContext(), mySimpleGestureListener);
//button listener works
on_enter_button.setOnClickListener(
new View.OnClickListener()
{
public void onClick(View view)
{
enter(words, linearLayout, llp, view);
}
});
}
}
難道我在SimpleOnGestureListener覆蓋這些類? – user2456977 2014-12-05 01:56:57
你可以在任何視圖中重寫'View.onTouchEvent()''''''''''''''''''' 'SimpleOnGestureListener.onFling()'你已經有了,它只是沒有做任何事情。 – tachyonflux 2014-12-05 02:00:44
對不起,我是新來的。我在哪裏打電話onFling()?在onTouch裏面?或者我只是改變SimpleGesture中的onFling()方法? – user2456977 2014-12-05 02:05:25