簡體   English   中英

android studio中有沒有一種方法可以從其他幾個活動中調用一個活動?

[英]is there a way in android studio to call a single activity from couple of other activities?

請幫忙 。 我試圖從另一個活動中訪問一個特定活動,所以我不會編寫多個代碼。 我從這些不同的活動發送相同類型的“ putExtra”,但使用不同的值來標識活動的來源。

我想要有人告訴我我做錯了什么。

對不起,謝謝...

您無需發送額外的值即可識別調用方Activity ,有一個名為getCallingActivity()的方法可以為您提供幫助。

但是,如果您通過startActivityForResult()調用了Activity ,它將僅返回非null值

這是示例代碼:

ComponentName callingActivity = getCallingActivity();
if (callingActivity != null)
{
    String activityName = callingActivity.getShortClassName();
    if (activityName.endsWith("INVOKING_ACTIVITY_NAME"))
    {
        //do stuff
    }
}

這是您要找的東西嗎?

活動1

Intent i = new Intent(Activity1.this, DestinationActivity.class)
i.putExtra("OriginActivity", "Act1")
startActivity(i)

活動2

Intent i = new Intent(Activity2.this, DestinationActivity.class)
i.putExtra("OriginActivity", "Act2")
startActivity(i)

DestinationActivity

if (savedInstanceState == null) {
    Bundle extras = getIntent().getExtras();

    if(extras != null) {

        if(extras.getString("OriginActivity").equals("Act1")){
            // you came from Activity 1

        }else if(extras.getString("OriginActivity").equals("Act2")){
            // you came from Activity 2
        }

等等

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM