В моем проекте у меня есть действие A, у которого есть список.Я установил onClickListener в списке адаптеров (onBindViewHolder), чтобы при нажатии на каждый элемент запускалось действие B (startActivityforResult). Затем в Activity BI setResult (RESULT_OK), но в действии A всегда получалось RESULT_CANCELL.
вот мой адаптеркод:
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(context,TicketActivity.class);
intent.putExtra("ticketID",tickets.get(position).getId());
intent.putExtra("ticketStatus",tickets.get(position).getStatus());
activity.startActivityForResult(intent,NEW_TICKET_MESSAGE_CODE);
}
});
здесь есть операция B, когда я установил значение «ОК».
@Override
public void onBackPressed() {
super.onBackPressed();
if(hasNewMessage) {
setResult(RESULT_OK);
finish();
}else{
setResult(RESULT_CANCELED);
}
finish();
}
Я уверен, что hasNewMessage возвращает true.и вот операция B, где я проверяю результат:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == NEW_TICKET_REQUEST) {
if (resultCode == RESULT_OK) {
recreate();
}
} if (requestCode == NEW_TICKET_MESSAGE_CODE) {
if (resultCode == RESULT_OK){
recreate();
}
}
}
Но запрос с кодом NEW_TICKET_MESSAGE_CODE всегда получает RESULT_CANCEL почему?!