3

アプリケーションに listView があり、listitem に触れずに強調表示したいと考えています。最初の項目が常に強調表示されるようにします。これを行うにはどうすればよいですか?

リストビューのコードは次のとおりです。

編集

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.listmenu);

        menuList = (ListView) findViewById(R.id.list1);
    menuList.setAdapter(new ArrayAdapter<String>(this,R.id.list_content, heading));
    menuList.setSelection(1);
    View v = menuList.getSelectedView();
v.requestFocus();

 }
4

3 に答える 3

0

あなたは試すことができます

ArrayAdapter<String> adapter;

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.listmenu);

    menuList = (ListView) findViewById(R.id.list1);
    adapter = new ArrayAdapter<String>(this,R.id.list_content, heading);
    menuList.setAdapter(adapter);
    menuList.setSelection(1);

    adapter.getView(0, null, menuList).setFocused(true);

 }
于 2012-06-25T15:27:45.937 に答える
0

Android 3.0 より前では、これを行う必要がある唯一のメカニズムは、選択したビューにフォーカスを当てることです。次のようなものを試してください:

menuList.setSelection(1);
View v = menuList.getSelectedView().requestFocus();

あなたも試しrequstFocusFromTouch()てみてください。Android 3.0 以降では、この目的のためにアクティブ化setActivated()状態が追加されたため、新しいバージョンをターゲットにしている場合は、適切なビューを呼び出すことができます。

于 2012-06-25T15:26:02.557 に答える
0

最も簡単な方法:

getListView().setItemChecked(0, true);

次の質問は何ですか?

于 2012-07-23T13:02:01.947 に答える