1

活動をしています。アクティビティには2つのフラグメントがあり、フラグメントの1つですべてのタッチをブロックし、ユーザーが最初のフラグメントをクリックしたときにタッチのブロックを解除したいと考えています。どうやってするか ?フラグメントには onTouchEvent メソッドがありません

4

2 に答える 2

8

フラグメントのonCreateViewで、戻ってきたビューを取得してonTouchListenerに設定します。

mContentView = inflater.inflate(R.layout.your_layout, null);
    mContentView.setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if(fragment is blocked)
              return true;
            else
             return false;
        }
    }); 
    return mContentView;
}
于 2012-07-04T14:06:49.260 に答える
0

独自のレイアウトを作成して(または、使用しているレイアウトをオーバーライドして)、オーバーライドすることができますpublic boolean onInterceptTouchEvent(MotionEvent event)

于 2012-07-04T13:55:14.200 に答える