Élément de liste de sélection Android
J'ai une listview dans que je veux quand mon activité commence alors le premier élément en arrière-plan et les autres éléments n'ont pas de fond.Après cela, si l'utilisateur sélectionne un autre élément puis le fond de cet article en particulier va maintenant être en bleu et le reste n'ont pas de fond.Merci de m'aider sur ce point.
Mon layout_effect.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true">
<shape>
<solid android:color="#ffffff" />
</shape>
</item>
<item>
<shape>
<solid android:color="#00a7eb" />
</shape>
</item>
</selector>
Mon GetView Code où je suis réglage de l'arrière-plan par défaut
public View getView(int position, View convertView, ViewGroup parent) {
if(position == 0){
vi.setBackgroundResource(R.drawable.selection_effect);
vi.setSelected(true);
}
}
Tout mon onclickListner de la listview
onewayListView .setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
//TODO Auto-generated method stub
Toast.makeText(getBaseContext(), "Clicked", 1000).show();
}
});
Mon Listview xml
<ListView
android:id="@+id/lvDepartures"
android:layout_weight="1"
android:layout_marginLeft="5dp"
android:choiceMode="singleChoice"
android:layout_height="wrap_content"
android:listSelector="@drawable/selection_effect"
android:layout_width="wrap_content"/>
S'il vous plaît aider moi, comment pourrais-je résoudre ce problème je suis coincé dans ce dernier 1jour.
OriginalL'auteur Developer | 2013-08-08
Vous devez vous connecter pour publier un commentaire.
Pour faire ce que vous pouvez faire est de créer un sélecteur et de l'appliquer à la vue parent de votre
row.xml
Définir la couleur dans strings.xml
<color name="blue">#009FE3</color>
Créer un sélecteur
Maintenant de l'appliquer comme
android:background="@drawable/row_selector"
pour la vue parent de votre ligne.Ensemble ListView comme CHOICE_MODE_SINGLE dans du code java
listview.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
Et enfin setAdapter à votre Liste.
listview.setAdapter(adapter);
Pour la sélection de l'élément par défaut dans ListView utilisation,
listview.setItemChecked(position, true);
J'avais créé une démo exemple pour le même, vous pouvez le télécharger à partir de mon github
mise à jour de ma réponse!
Non, juste après l'appel de
listview.setAdapter(adapter)
onewaydata=new OneWayFlightResult(ce, flightData); onewayListView.setAdapter(onewaydata);
Oh mon DIEU!!!, Si vous ne savez pas
position
dans ListView alors vous n'êtes pas censé code plus loin, lire les docs!OriginalL'auteur Lalit Poptani
Créer un sélecteur pour listview
setOnItemClickListener
écrire la fonction suivanteAller à travers ce tutoriel androidhive.info/2011/10/android-listview-tutorial
veuillez voir mes layout_effect.xml .Je me sers de ce alors premier est sélectionné par défaut, mais lorsque je clique sur un autre élément dans la vue de liste de la propriété par défaut de l'élément sélectionné reste même qui est le problème
OriginalL'auteur Vaibs_Cool
OnListItem cliquez sur passer à la position sélectionnée sur la carte, et la carte à nouveau
et l'adaptateur de vérifier si la position sélectionnée, puis définir l'arrière-plan n'est pas de définir l'arrière-plan.
OriginalL'auteur mdDroid
vous devriez vérifier cela:
OriginalL'auteur Shani Goriwal
Je ne suis pas sûr, mais essayez de mettre
listView.setSelection(position);
dans la listview estsetOnItemClickListener
OriginalL'auteur imthegiga
Supprimer de votre liste par défaut-sélecteur dans votre listview ou le définir comme la valeur null:
Espère que cette aide.
OriginalL'auteur user2652394