2016-04-01 20 views
0

私には3つのアクティビティがあります。 startActivityで1つのアクティビティから別のアクティビティに移動するとき、私が始めたアクティビティをどのように知ることができますか?現在のアクティビティが開始されたアクティビティ(startActivity)はどのようにして見つけられますか?

+0

の可能性のある重複した[どのように子どもの活動の名の親アクティビティを取得](http://stackoverflow.com/questions/9885994/how-get-name-parent-activity-in-child-activity) –

答えて

2

だけで意図を使用して、このような親アクティビティを指定します。

活動Aは、アクティビティBに続いての活動B

Intent intent = new Intent(this, ActivityB.class); 
intent.putExtra("parent_activity", "activityA"); 
startActivity(intent); 

を開き、バンドルがparent_activityキー

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_display_message); 

     if (getIntent()!= null && getIntent().getExtras().containsKey("parent_activity")) { 
      String parentActivity = getIntent().getStringExtra()("parent_activity"); 
     } 
    } 
+0

あなたは 'parent_activity'を検索するときに' savedInstanceState'ではなく 'getIntent()'を使うつもりですか? –

+0

Georgeさん、ありがとうございました – Mehdi

0
が含まれているかどうかをチェックします

親アクティビティの識別子を、開始しようとしているインテントに入れ、子アクティビティでそのアクティビティにアクセスできます。

ParentActivity

static final int ACTIVITY_CODE = 1; 
... 
Intent intent = new Intent(this, ChildActivity.class); 
intent.putExtra(KEY_CODE, ACTIVITY_CODE); 
startActivity(intent); 
... 

ChildActivity

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    int code = getIntent.getIntExtra(KEY_CODE) 
    swith(code) { 
    //do something 
    } 
} 

私たちは、あなたのアクティビティの名前を変更する場合には、キーの代わりに、アクティビティ名に整数を使用し、あなたはあまり悩みを持っています。

How get name parent activity in child activity

関連する問題