Почему OnActivityResult () никогда не вызывается? - PullRequest
0 голосов
/ 01 июля 2011

Вот так я запускаю вкладку Activity

  Intent i = new Intent("walk.me.TAB");
        startActivityForResult(i, STATIC_RESULT);

Примечание: STATIC_RESULT=-1 или RESULT_OK;.

Вот так я заканчиваю вкладку

((Button)viewItem.findViewById(R.id.gotherefav)).setOnTouchListener(new OnTouchListener(){

    @Override
    public boolean onTouch(View v, MotionEvent event) {

        if(ime!=null)
        {

        b.putString("ime",ime.toString());
        b.putIntArray("koordinati&kategorija", coordAndCat );

        b.putBoolean("klik", true);

        FinishWithResult(b);
        }
        return false;
    }});



public void FinishWithResult(Bundle b)
{
    Intent i = getIntent();
    i.putExtras(b);
    setResult(Activity.RESULT_OK, i);
     Log.i("in FINISH", "settig Activity Result");  
    finish();   
}

А вот моя OnActivityResult реализация:

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
          Log.i("in OnActivityResult", "Activity Result");  
          Toast.makeText(getBaseContext(), "DOJDE", Toast.LENGTH_LONG).show();
        super.onActivityResult(requestCode, resultCode, data);

          Log.i("in OnActivityResult", "Activity Result");
          if (requestCode == STATIC_RESULT) {
                 if (resultCode == RESULT_OK) {

           Toast.makeText(getBaseContext(), "DOJDE BUNDLE", Toast.LENGTH_LONG).show();
           Bundle preferenciOdTab = data.getExtras();
           if(preferenciOdTab !=null && preferenciOdTab.getBoolean("klik", true))
                  {
                    mapView = (MapView)findViewById(R.id.map);
                     isFavorite=preferenciOdTab.getBoolean("klik");
                  drawFavorite(preferenciOdTab.getString("ime"),preferenciOdTab.getIntArray("koordinati&kategorija"));
                  }
                 }}

Почему onActivityResult никогда не вызывается и напрямую переходит на OnResume(), независимо от того, гарантируется ли документация, что OAR будет вызываться до ИЛИ? Что я делаю не так? Я не указал в манифесте XML

SingleInstance

или

singleTask

для основной деятельности.

1 Ответ

6 голосов
/ 01 июля 2011

Вы говорите, что STATIC_RESULT равно -1?

Код запроса должен быть положительным целым числом.

startActivityForResult ()

Параметры

намерение Намерениеstart.

requestCode Если> = 0, этот код будет возвращен в onActivityResult () при выходе из операции.

...