64 votes

Comment terminer une activité à partir d'un adaptateur..?

J'ai essayé de passer context d'activité dans l'adaptateur, puis j'ai essayé context.finish(); Mais cela me donne une erreur comme The method finish() is undefined for the type Context

251voto

Yashwanth Kumar Points 12122

type cast avec activité.

 ((Activity)context).finish();

7voto

raul_zevahc Points 179

Essayez avec le code suivant :

 public YourAdapterName(......,Context context){

...

this.myContext=context;
}

Et dans votre adaptateur getView()

 btn.setOnClickListener(new Button.OnClickListener() {

    @Override
    public void onClick(View v) {
        ((YourActivityName)myContext).yourDesiredMethod();

    }
});

5voto

Egor Points 15923

Essayez de passer votre activité en tant que activity , puis vous pourrez appeler finish() dessus. J'espère que cela t'aides.

4voto

yogesh mhetre Points 61

En adaptateur ça fonctionnera

 ((Activity)view.getContext()).finish();

3voto

Pradeep Sheoran Points 88

Le code correspondant est ((Activity)context).finish(); et le code complet est

 holder.cardUsers.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        Intent intent1=new Intent(mcontext,AstroChatPanel.class);
        intent1.putExtra("mobile",userslist.get(position).getMobile());
        intent1.putExtra("name",userslist.get(position).getName());
        intent1.putExtra("type","admin");
        mcontext.startActivity(intent1);
        ((Activity)mcontext).finish();
    }
});

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X