всегда получать RESULT_CANCELL onActivityResult в то время как - PullRequest
0 голосов
/ 13 октября 2018

В моем проекте у меня есть действие 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 почему?!

1 Ответ

0 голосов
/ 13 октября 2018

удалить super.onBackPressed(); строка

ваш метод должен понравиться

@Override
public void onBackPressed() {
    if(hasNewMessage) {
         setResult(RESULT_OK);
         finish();
    }else{
         setResult(RESULT_CANCELED);
         finish();
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...