Как вызвать onActivityResult в списке адаптеров?

я узнаю, как изменить один элемент с помощью resultActivity в моем пользовательском списке адаптеров. как это может работать?

это мой код, когда startActivityForResult в пользовательском списке адаптеров

holder.isi_layout.setOnClickListener(new android.view.View.OnClickListener(){

        public void onClick(View v) 
        {

                            Intent i = null;                                
                            i = new Intent(activity, DetailLaporanActivity.class);                              
                            Bundle b = new Bundle();
                            b.putString("position", Integer.toString(position));

                            i.putExtras(b);
                            activity.startActivityForResult(i, mRequestCode);                                  
                            activity.overridePendingTransition (R.anim.push_left_in, R.anim.push_left_out);


        }
    });                

и это OnResultActivity

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode==mRequestCode) {
            if(resultCode == RESULT_OK){
                String position = data.getStringExtra("position");
                String status_favorite = data.getStringExtra("status_favorite");
                String jumlah_favorite = data.getStringExtra("jumlah_favorite");
                String jumlah_komentar = data.getStringExtra("jumlah_komentar");
            }

            Toast.makeText(getApplicationContext(), "This code Success get Result", Toast.LENGTH_LONG).show();
        }
    }

Когда я помещаю OnResultActivity в адаптер, код является ошибкой, RESULT_OK получает уведомление Не может быть преобразовано в переменную,

но если я поставлю MainActivity , это не ошибка, но не результат значения, я проверяю с помощью Toast.makeText(getApplicationContext(), "Этот код успешно получает результат", Toast.LENGTH_LONG).show(); но без тостов....

кто-нибудь мне поможет? как работа? Извините за мой английский...


person bukanamay    schedule 24.10.2013    source источник
comment
Можете ли вы помочь мне, мой onActivityResult внутри класса адаптера не вызывается?   -  person user3233280    schedule 26.11.2014


Ответы (2)


Вы добавили неразрешенный RESULT_OK, поэтому вы должны установить его в DetailLaporanActivity.class таким образом.

public class DetailLaporanActivity extends Activity {
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    setResult(RESULT_OK);

  }
}

и чем вы можете использовать RESULT_OK в своем методе onActivityResult.

person yilmazburk    schedule 24.10.2013

Это потому, что RESULT_OK является константой класса Activity. Итак, вам нужно квалифицировать его в своем классе адаптера следующим образом:

Activity.RESULT_OK
person Rick Falck    schedule 24.10.2013
comment
Прохладный! Я также думаю, что его решение является реальным. - person Rick Falck; 25.10.2013
comment
Рик, твое решение сработало для меня. Спасибо. Я думаю, что это было связано с расширением фрагмента, а не действия. - person BostonGeorge; 10.12.2013