0

スワイプタブを実装するための ViewPager レイアウトがあります。Everiting は正常に動作しますが、ViewPager を構成するすべての Fragment で、シングル タッチ イベントを処理します。私は私の主な活動の中でこれをやろうとしました:

@Override 
public boolean onTouchEvent(MotionEvent event) {
    int action=event.getAction();
    if((action == MotionEvent.ACTION_DOWN) && (action == MotionEvent.ACTION_UP)) {
    getActionBar().show();
    return true;
    }
return false;
}

しかし、うまくいかないようです。どうやってやるの?

4

2 に答える 2

0

ViewPager によってページングされている Fragment タイプのクラスを見つけます。

そのクラスで、ビューを見つけます --たとえば、ページングしている画像の imageView とします--

その View にリスナーを追加します。これには、フラグメントがアタッチされる Activity へのコールバック インターフェイスがローカル イベント ハンドラーに含まれます。

「タッチ」イベントのローカル ハンドラで、インターフェイスにコールバックします。

フラグメント onAttach で、アタッチされているアクティビティがハンドラーを実装していることを確認します。

ここで説明されているフラグメント インターフェイスへのアクティビティ

その後、メイン アクティビティは、コールバックのリモート部分でタッチ イベントに本当に必要なものを実装できます。

于 2013-09-09T01:36:04.843 に答える