タブ内のフラグメント ナビゲーションを使用して、(多くの iPhone アプリのように) 多くのタブを持つアプリを構築しようとしています。Support V4 lib を使用しています。
したがって、フレームワークは次のとおりです。TabActivity->FragmentActivity->Fragments
フラグメント アクティビティで、アプリはこのメソッドを呼び出して、新しいフラグメントを置き換えます。
public void updateFragment(Fragment fragment) {
final FragmentTransaction transaction = fragmentManager
.beginTransaction();
transaction.replace(R.id.fragment_layout, fragment, nTag);
transaction.addToBackStack(null);
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
transaction.commit();
}
...そして、新しいフラグメントでは、ルート ビューにも OnTouchEvent を処理するように要求します。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
View root = inflater.inflate(R.layout.fragment_shopfilter, container,
false);
root.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return true;
}
});
return root;
}
前のフラグメントはまだタッチ イベントを取得しますが、新しいフラグメントだけがタッチ イベントを取得するにはどうすればよいですか?