Próbowałem z przechodzącej context
aktywności do adaptera, a następnie próbowałem context.finish();
Ale to daje mi jeden błąd jak The method finish() is undefined for the type Context
Jak zakończyć działanie z adaptera ..?
Odpowiedz
typ rzucić go z działalnością.
((Activity)context).finish();
Dziękuję, działa to jak czar. – Janpan
działa dobrze dla mnie –
Spróbuj przekazując swoją aktywność jako parametr activity
, wtedy będziesz mógł zadzwonić finish()
na nim. Mam nadzieję że to pomoże.
Spróbuj z następującego kodu:
public YourAdapterName(......,Context context){
...
this.myContext=context;
}
I w getView adaptera()
btn.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
((YourActivityName)myContext).yourDesiredMethod();
}
});
thx za odpowiedź z opisem @ raul_zevahc –
w Twojej adaptera próby wywołania korzystanie mety poniższy kod
((Activity)context).finish();
Nie użyłem tego, ale mam nadzieję, że to zadziała. use: "this.recreate()", jeśli chcesz przeładować go z poziomu działania.
jeśli chcesz odświeżyć ją z adapterem następnie użyć: "((aktywny) kontekstu) .recreate()"
teraz to sprawdziłem. działa dobrze. – neens
blisko aktywny forma Klasa klienta Adapter tylko w metodzie
@Override
public void onClick(View v) {
MyApplication.value=mCompany.getCompanyId();
Intent intent = new Intent(MyApplication.context, VaasetActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("ID_COMPANY",mCompany.getCompanyId());
MyApplication.context.startActivity(intent);
((Activity)context).finish();
}
});
Skorzystaj z linku poniżej. Mam nadzieję, że rozwiąże to Twój problrm https://stackoverflow.com/questions/33972621/cannot-use-finish-inside-adapter-adapter – user6789978