2 つのリスト フラグメントを含む 1 つのフラグメント アクティビティがあります。リスト間を移動するには、方向パッドを使用します。たとえば、listview1->tvをクリックすると、listview2に tv channels が表示されます。listview1->movieをクリックすると、listview2に映画のリストなどが表示されます。
これが私の問題です: listview1->item3 ( item3がセレクターによって強調表示されています)をクリックしてlistview2に移動し、d-pad の上下を使用してアイテムをサーフすると、左矢印キーでlistview1に戻ります。 listview->item3に戻ることを期待しています。しかし、そうではなく、listview1の項目がフォーカスされます (強調表示されます) 。
フォーカスされたアイテムを処理できません。最後に選択したアイテムに戻る必要があります ( getListView().getSelectedItemPosition()
) には真のアイテム位置番号がありますが、フォーカス/ハイライトは真/最後の位置ではありません)
アンドロイド 2.3.4
これらの方法を使用しましたが、どれも機能しませんでした
getListView().setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean focused) {
// TODO Auto-generated method stub
if (!focused) allowfocus=true;
if (focused && allowfocus){
getListView().setSelection(PosHolder.MENU_LAST_POS);
OR
getListView().setSelection(getListView().getSelectedItemPosition());
OR
getListView().getSelectedView().setSelected(true);
OR
getListView().getSelectedView().requestFocus();
Toast.makeText(getActivity(), "Menu Got Focused:"+ getListView().getSelectedItemPosition(), Toast.LENGTH_SHORT).show();
}
}
});