3

ListFragment に ListView があり、ユーザーがリスト内のフォーカスされた項目を変更したときに、フラグメントの背景を変更したいと考えています。これは Google TV アプリであるため、ここでは具体的にフォーカスと言い、dpad コントロールをターゲットにしており、項目の選択は別のことを行っています。

質問は、リスト アイテムのフォーカスが変更されたときに通知またはコールバックを取得するにはどうすればよいかということです。アダプターが行ビューを作成するときに OnFocusChangeListener を行ビューに設定しようとしましたが、それが呼び出されることはありません。

4

1 に答える 1

0

代わりに使用してくださいonItemSelected。これは、listView の項目が選択されたときに呼び出されます。

listview.setOnItemSelectedListener(new OnItemSelectedListener(){
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id){
        //do stuff here       
    }
});

選択状態は、ユーザーが方向コントロールを使用してリストビューをナビゲートする場合 (d-pad を使用してリストをナビゲートする場合など) に使用する必要があります。この場合、listView はフォーカスされた状態になり、その中の listItems は選択された状態になります。状態の詳細については、こちらを参照してください

于 2013-01-29T06:45:06.467 に答える