Android Imposta ListView OnItemClickListener
-
28-10-2019 - |
Domanda
Ecco l'apertura della mia attività.
public class SettingActivityR extends CommBaseActivity implements OnItemClickListener
CommBaseActivity è una comunicazione di handle di classe che si estende da Activity
e la struttura in SettingActivityR contiene una listView denominata SeverListView
Avevo impostato queste impostazioni nel metodo Activity onCreate
SeverlistView.setAdapter(this.m_adapter);
SeverlistView.setClickable(true);//already set it Clickable!
SeverlistView.setOnItemClickListener(this);
e sovrascrivi il metodo
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
// TODO Auto-generated method stub
SeverDataList targetSeverItem=m_adapter.items.get(arg2);
Log.i("bird","zzz");
}
L'adattatore funziona correttamente, ma OnItemClickListener non ha funzionato affatto.La modalità di debug non viene nemmeno eseguita in questo metodo.Perché è così?
Soluzione
SettingActivityR dovrebbe invece estendere ListActivity.
In onCreate (), chiama setListAdapter (this.m_adapter);
Da qui, il metodo onListItemClick () dovrebbe gestire il callback per te.
Altri suggerimenti
Puoi provare a sostituire il tuo Adapter
con l'esempio fornito qui ?Scorri fino alla fine della pagina e vedrai
String[] countries = getResources().getStringArray(R.array.countries_array);
setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, countries));
Se funziona correttamente ma l'adattatore no, potrebbe esserci qualcosa di specifico che devi fare nell'adattatore.Potresti condividere anche il codice dell'adattatore?