2017-03-12 13 views
0

これはよくある質問です。ListView.setSelection(int)アイテムを選択していません

0から99までの100個のアイテムのうち、ListViewがあります。最初にリストがレンダリングされたときに、最初の10個のアイテムだけが表示されます。位置09にはをListView.post(Runnable)で使用すると正常に動作します。ポジション45のアイテムを選択したい場合はどうすればよいですか? setSelection(int)は、リストがレンダリングされるときに位置45を持つアイテムがなく、下にスクロールしたときにレンダリングされるため動作していないようです。だから私の質問は:

項目が選択されていて、表示されるようにするにはどうすればいいですか?

答えて

0

は、次のコードを試してみてください。

listview.post(new Runnable() 
    { 
    @Override 
    public void run() 
     { 
     listview.setSelection(45); // your position 
     View view = listview.getChildAt(45); 
     if (view != null) 
     { 
      view.requestFocus(); //request focus on row 
     } 
    } 
    }); 
} 
+0

'view.requestFocusを();' falseを返します。商品を選択していない –

+0

あなたのリストに45の商品がありますか? – rafsanahmad007

+0

遅れて申し訳ありません。私は私の質問に100を記載した私のリストに45以上の項目を持っています。 –

関連する問題