2

皆さん、こんにちは =) 私は新しい Android 開発者で、フラグメントの破棄について助けが必要です。

私のアプリケーションにはログイン フラグメントがあり、ユーザーがその外側に触れると、ログイン フラグメントを非表示にしたいと考えています。どうすればこれを作ることができますか? OnTouchEvent() メソッドは役に立つかどうか?

何かおっしゃってください。ありがとう =)

4

3 に答える 3

1

ログインレイアウトを透明なフルスクリーンレイアウト内に配置し、より大きなレイアウトでタッチイベントを検出します。

于 2012-12-04T17:06:52.880 に答える
0

メモリリソースを解放するためにフラグメントを削除する方が良いと思います。

私の解決策は、このメソッドを断片的に持つことです:

private void closeFragment() {
        getActivity().getSupportFragmentManager().beginTransaction().remove(YOUR_FRAGMENT.this).commit();
    }
于 2013-06-03T03:13:52.810 に答える
0

こんにちは=)ホームページアクティビティでOnTouchListenerを使用してこの問題を解決します。ホームページレイアウトにグリッドビューの背景があり、ユーザーがログインしない場合、onTouch()メソッドが実行されます。ログインフラグメントが表示され、ユーザーがその外側に触れると、私のフラグメントを閉じるために呼び出す hideLoginFragment() メソッド。

gridView = (ShelvesView) findViewById(R.id.grid_shelves);
gridView.setOnTouchListener(new OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                        if (application.getDbManager().getUser().key.equals("-1")){
                    hideLoginFragment();
                    loginButton.setVisibility(View.VISIBLE);
                    exitButton.setVisibility(View.INVISIBLE);}
                return false;
            }
        });
于 2012-12-05T10:54:23.670 に答える