2

私はこのようなレイアウトを持っています:

  • 相対レイアウト
    • フレームレイアウト
      • フラグメント (Google マップ レイヤー)
    • チェックボックス
    • ... その他のボタンなど

がチェックされたFrameLayoutときにタッチイベントをキャプチャしたいと思います。の代わりにCheckbox動作しましたが、問題は、チェックボックスボタンを押したときにタッチ応答も得られることです。除外したいのですが、仕組みがわかりません...dispatchTouchEventonTouch

新しいクラスなどを作成する必要がありますか?

これは私のコードで、多くを取り除いています:

public class Main extends Activity implements LocationListener, OnTouchListener {

  @Override
  protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    FrameLayout frame = (FrameLayout) findViewById(R.id.mapFrame);
    frame.setOnTouchListener((OnTouchListener) this);
  }

  public boolean onTouch(View v, MotionEvent e) {

    //doing things

    return true;
  }
}
4

1 に答える 1

1

これはあなたがやろうとしていることですか?

public class Main extends Activity implements LocationListener, OnTouchListener {

  private FrameLayout mFrame;

  @Override
  protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    mFrame = (FrameLayout) findViewById(R.id.mapFrame);
    mFrame.setOnTouchListener(this);
  }

  public boolean onTouch(View v, MotionEvent e) {

    if(mFrame == v) {

      // do things

      return true;
    }

    return false;
  }
}
于 2013-09-30T10:12:03.050 に答える