2011-07-01 2 views
0

これは私がタブの活動を開始する方法ですOnActivityResultは()

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がORの前に呼び出されることを保証する?私は間違っているの?私は、XMLマニフェスト

singleInstanceに述べ持っていけない

または

singleTask

主な活動のための

...

答えて

6

あなたはSTATIC_RESULTがあると言います - 1?

requestCodeは正の整数でなければなりません。

startActivityForResult()

パラメータ

開始する意思意思。

requestCode> = 0の場合、アクティビティが終了すると、このコードはonActivityResult()に返されます。

+0

ありがとう@Blundel。それはそれを解決しました。 –