2013-07-12 21 views
0

每文檔多點觸控問題,我想出了下面....與Android

public class ZoomActivity extends Activity implements View.OnTouchListener{ 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.activity_zoom); 
    View v = findViewById(R.id.textv); 
    v.setOnTouchListener(this); 
} 
    @Override 
public boolean onTouch(View arg0, MotionEvent arg1) { 
    CharSequence text=""; 
    switch(arg1.getAction()){ 
    case (MotionEvent.ACTION_POINTER_DOWN): 
     text = "Pointer Down "; 
     break; 
    case (MotionEvent.ACTION_DOWN): 
     text = "Down Action "; 
     break; 
    } 
    if(arg1.getPointerCount()>1){ 
     text = text + "Multiple Presses "+arg1.getPointerCount(); 
    } 
    else{ 
     text = text + "Single Press"; 
    } 
    if(arg1.getHistorySize() > 0){ 
     text = text + " Previous x is "+arg1.getHistoricalAxisValue(MotionEvent.AXIS_X, 0); 
    } 
    else{ 
     text = text + " First press"; 
    } 
    int duration = Toast.LENGTH_LONG; 
    Toast toast = Toast.makeText(getApplicationContext(), text, duration); 
    toast.show(); 
    return false; 
} 
} 

問題是,當我在我的設備運行的getPointerCount始終爲1。我在想什麼嗎?

回答

1

您從重寫的onTouch事件返回false,該事件將事件發回給未鏈接的鏈。你需要回歸真實,證明你自己已經處理了它。 :)

+0

測試和測試你的derp場景都返回true,但我仍然無法獲得多個指針。感謝您的嘗試.... – Jackie

+0

出於好奇。如果您返回true,會發生什麼 - 因爲從重寫的事件返回false意味着您沒有處理它並返回到鏈中,不是?只是一個想法。 – LokiSinclair

+0

我剛剛看到,實際上也讓我檢查 – Jackie