1
FragmentのonKeyListener()が動作していません。ここにコードの一部があります。アンドロイド:Fragment内の[戻る]ボタンのOnKeyListenerが機能しない
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment, null);
...
view.setFocusableInTouchMode(true);
view.requestFocus();
view.setOnKeyListener(new View.OnKeyListener() {
// true if the listener has consumed the event, false otherwise.
// the key event happens twice, when pressing and taking off.
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK && !touched) {
Log.i(TAG, "onKey() method");
touched = true;
return true;
} else {
return false;
}
}
});
return view;
}
紛失しているものはありますか?
申し訳ありませんが、私はちょうどあなたの答えをチェックアウトしました。しかし、その場合、 'R.layout.fragment'ファイルをどのように膨らませるべきですか? –
あなたは 'oncreateview()'でレイアウトを膨張させ、 'onViewcreated()'でキーリスナーを待ち受けることができます – rafsanahmad007
ああ!私は2つの名前がほぼ同じように見えたので混乱しました。とにかく私はあなたのやり方でそれを試しましたが、どちらもうまくいかなかったのです。 –