皆さん、こんにちは =) 私は新しい Android 開発者で、フラグメントの破棄について助けが必要です。
私のアプリケーションにはログイン フラグメントがあり、ユーザーがその外側に触れると、ログイン フラグメントを非表示にしたいと考えています。どうすればこれを作ることができますか? OnTouchEvent() メソッドは役に立つかどうか?
何かおっしゃってください。ありがとう =)
皆さん、こんにちは =) 私は新しい Android 開発者で、フラグメントの破棄について助けが必要です。
私のアプリケーションにはログイン フラグメントがあり、ユーザーがその外側に触れると、ログイン フラグメントを非表示にしたいと考えています。どうすればこれを作ることができますか? OnTouchEvent() メソッドは役に立つかどうか?
何かおっしゃってください。ありがとう =)
ログインレイアウトを透明なフルスクリーンレイアウト内に配置し、より大きなレイアウトでタッチイベントを検出します。
メモリリソースを解放するためにフラグメントを削除する方が良いと思います。
私の解決策は、このメソッドを断片的に持つことです:
private void closeFragment() {
getActivity().getSupportFragmentManager().beginTransaction().remove(YOUR_FRAGMENT.this).commit();
}
こんにちは=)ホームページアクティビティで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;
}
});