Android プロジェクトの 1 つに取り組んでおり、アクティビティ内のコードを減らそうとしています。そのうちの 1 つに、クリックすると DialogFrament を開く CustomView (LinearLayout を拡張するだけ) があります。これを実装する方法はonTouch()
、アクティビティでオーバーライドし、続いてそこから DialogFrament を開くことです。次のようになります。
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP) {
if (v.getId() == mCustomView.Id()) {
mDialogFragment.show(mFragmentManager, "");
DialogFragment を開くプロセスをアクティビティから CustomView 自体に移動したいのですが、CustomView で (を使用してgetSupportFragmentManager()
) FragmentManager のインスタンスを取得できないという問題があります。私が計画していることは可能ですか、それとも私が取り組んでいるコードに固執する必要がありますか? これを行っているのは、コードがよりクリーンで理解しやすくなるようにするためです。