Tôi đã thử với đi qua context
hoạt động vào adapter và sau đó tôi đã cố gắng context.finish();
Nhưng nó đem lại cho tôi một lỗi như The method finish() is undefined for the type Context
Cách kết thúc hoạt động từ Bộ điều hợp ..?
Trả lời
loại truyền phát cùng hoạt động.
((Activity)context).finish();
Cảm ơn bạn, điều này hoạt động như một say mê. – Janpan
hoạt động tốt cho tôi –
Hãy thử qua hoạt động của bạn như một tham số activity
, sau đó bạn sẽ có thể gọi finish()
trên đó. Hi vọng điêu nay co ich.
Hãy thử với đoạn mã sau:
public YourAdapterName(......,Context context){
...
this.myContext=context;
}
Và trong getView adapter của bạn()
btn.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
((YourActivityName)myContext).yourDesiredMethod();
}
});
thx cho câu trả lời với mô tả @ raul_zevahc –
Trong tùy chỉnh bộ chuyển đổi thử của bạn để gọi sử dụng kết thúc mã dưới đây
((Activity)context).finish();
tôi chưa sử dụng nhưng Tôi hy vọng nó sẽ làm việc. sử dụng: "this.recreate()" nếu bạn muốn tải lại từ bên trong hoạt động.
nếu bạn muốn tải lại nó từ Adaptor sau đó sử dụng: "((Hoạt động) ngữ cảnh) .recreate()"
bây giờ tôi đã kiểm tra nó. làm việc tốt. – neens
gần Hoạt động hình thức lớp Tuỳ chỉnh Adaptor chỉ trong phương pháp
@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();
}
});
Sử dụng dưới đây link.i hy vọng điều này sẽ giải quyết của bạn problrm https://stackoverflow.com/questions/33972621/cannot-use-finish-inside-adapter – user6789978