Zaměřit kontrolu v ListView

hlasů
3

Kontext: Chci mít ListView, že nebude přijímat fokus (např nebude zvýraznit řádek, když ho uživatel dotkne). Zatím každý řádek ovládací prvek má svůj vlastní OnClickListener. Tady je to, co jsem uvést v rozvržení xml:

android:choiceMode=none 
android:focusableInTouchMode=false
android:focusable=false

ListView stále chová úplně stejně. Mohl by někdo prosím vysvětlit

  1. Vzájemný vztah mezi třemi
  2. Jaký je správný způsob, jak vytvořit ListView, že neobdrží fokus?

TIA.

Položena 21/02/2009 v 04:16
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
6

I když jste zadali v xml můžete zkusit zadáním v kódu stejně. I když jsem si jistý, můžete nastavit seznamu není zaostřitelný a ještě seznam být posuvný a je to kliknout.

Po vaší setContentView ...

myListView.setFocusableInTouchMode(false);

Mohli byste zkusit a dědí z pohledu, jak dobře a pak přidat trochu ladění kódu v mezidobí, která vám pomůže, když je seznam vlastně má zaměřit.

    myListView.setOnFocusChangeListener(new OnFocusChangeListener(){

        public void onFocusChange(View v, boolean hasFocus)
        {
            v.setBackgroundColor(hasFocus ? Color.GRAY : Color.BLACK);
        }
    });

    myListView.setClickable(true);
Odpovězeno 21/02/2009 v 05:18
zdroj uživatelem

hlasů
2

Seznam přijímající fokus je jiný než vybraný řádek není zvýraznění. Seznam dostane soustředit vždy, když uživatel je v něm. Nejlepší ListView může udělat, je zpráva o intnějakého vybral uživatel. Nejsem si jistý, jak každý řádek ovládací prvek má vlastní clickListener. Nejsou k dispozici žádné widgety řadové, že jsem si vědom. onListItemClickPatří k ListView.

I přístav byl schopen přijít na to ještě, ale mezi android:listSelectora android:backgrounda nastavením alfa kanály Počítám, že by to způsob, jak se podívat výběr stejně jako nevybrané řadě.

android:listSelector="#8fff" dělá to tak jen popředí změny na výběr.

Vypadá to, že android vybere non-zvolen výstup, na jeho vlastní, který dělá to těžké. Doufám, že to pomůže.

Odpovězeno 21/02/2009 v 05:13
zdroj uživatelem

hlasů
0

Nemůžeš dělat s RadioButton to je důvod, vybraných pokud uživatel dotkne řadě na seznamu?

Následující je výňatek z mé vlastní kód.

// Create an adapter with a simple list item with single choice.
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_single_choice, categories);

// Set the adapter to your list
listView.setAdapter(adapter);

Na zdraví!

Odpovězeno 09/08/2012 v 12:18
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more