Domanda

Okay so che potrebbe sembrare altre questioni riguardanti i problemi di listview e di elenco, ma questo non lo è, vado pazzo come ho passato nella settimana passata e sulla ricerca di tutti i post per trovare qualsiasi soluzione a questo Questo può aiutarmi. Già provato a listview elemento background tramite selettore personalizzato e getview vs. BindView in un cursoradacchetto personalizzato? ogni altro possibile siti di blog ...

Okay il problema, il mio elenco per uno 1 non consente gli eventi di selezione / antincendio e 2. non cambierà l'evidenziazione della riga quando viene cliccato un elemento. Ho un TestActivityTagCoDetagCoDetagCoDetagCode ListActivity standard e ho implementato un TestCursorAdapter extends SimpleCursorAdapter personalizzato

Ora nel lato XML delle cose che ho su test_list_view.xml e Second One row_view.xml Ora ho seguito le risposte di cui sopra risposte e implementano selector come row_selector.xml. Ma il problema è per una le righe non accetta alcun clic o eventi di messa a fuoco. Ho implementato un pane tostato di base per indicare se c'è qualcosa di accadere

@Override
protected void onListItemClick(ListView l, View v , int postion, long idontnow){
    Toast.makeText(getApplicationContext(), "Hello World",  Toast.LENGTH_SHORT ).show();
}
.

parte di test_list_view.xml
<ListView android:id="@android:id/list" 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:drawSelectorOnTop="true" 
    android:cacheColorHint="#00000000"
    android:focusable="true" 
    android:listSelector="@color/row_selector" 
    android:background="@color/Transparent"/>
.

parte del selettore.xml (fondamentalmente copiato e incollato da uno dei link sopra menzionati)
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_window_focused="false" 
        android:drawable="@color/Transparent" />
    <item 
        android:state_focused="true"
        android:state_enabled="false"
        android:state_pressed="true" 
        android:drawable="@color/green" />
    <item 
        android:state_focused="true"
        android:state_enabled="false"      
        android:drawable="@color/green" />
    <item 
        android:state_focused="true"
        android:state_pressed="true" 
        android:drawable="@color/blue" />
    <item 
        android:state_focused="false"
        android:state_pressed="true" 
        android:drawable="@color/blue" />
    <item 
        android:state_focused="true" 
        android:drawable="@color/green" />
    <item 
        android:state_selected="true" 
        android:drawable="@color/blue" />
    <item 
        android:drawable="@color/Transparent" />
</selector>
.

Ho seguito tutte le opzioni di cui sono consapevole e ancora niente. L'unica grande differenza è GUYS Non sto usando getView invece sto usando bindView.

Qualsiasi aiuto dei ragazzi sarà molto apprezzato.

Grazie in anticipo.

sanj

È stato utile?

Soluzione

I suggest that you remove the android:focusable="true" from the ListView.

Additionally, you can use the selector as the background color of the items that are displayed in the ListView. Also be sure that those elements are not calling onClick or onTouch or something like that, and let the ListView handle the click events.

I hope this helps

EDIT:

for your problem with selecting the item use

lv.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            yourMethod();
        }
    });

Altri suggerimenti

following raukodraug's suggestion and post ListView OnItemClickListener Not Responding?

Another fact as mentioned use bindView method, I used

view.setClickable(true);
view.setFocusable(true); 

the item click kind of works, only if you click on the region marked highlighted in Yellow and the ImageView. I should be able to figure this out thanks,

enter image description here

Edited

Oh *%#$ Solved it, Needed to set the RelativeLayouts Add State from Children = true;

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top