Intent的另一種啟動方式

2021-07-25 07:19:28 字數 1554 閱讀 5316

在閱覽別人的**時,看到別人是這麼啟動另外乙個activity的

newsinfoactivity.actionstart(mcontext, item.getlink());

當時就覺得很奇怪,第一次見嘛,然後我就到這個newsinfoactivity類中查actionstart方法,發現

public

static

void

actionstart(context context,string url)

我就納悶了,為啥要這樣啟動activity,意圖

下面是解釋內容:

在開發過程中,啟動活動是最常見的操作,當然我們很熟悉了,無非就是:首先通過intent構建出當期的」意圖」,然後呼叫startactivity()或startactivityforresult()方法將活動啟動起來,如果有資料需要從乙個活動傳遞到另乙個活動,也可以借助intent來完成.

假設secondactivity中需要用到兩個非常重要的字串引數,在啟動secondactivity的時候必須要傳遞進來,那麼我們很容易寫:

intent intent = new intent(firstactivity.this,secondactivity.class);

intent.putextra("param1","data1");

intent.putextra("param2","data2");

startactivity(intent);

這樣寫很標準,但在真正的專案開發中經常會有對接的問題出現,比如secondactivity並不是有你開發,但現在你負責的部分需要有啟動secondactivity這個功能,而你不清楚啟動這個活動需要傳遞那些資料.這是就有一種寫法可以輕鬆解決掉這個問題.

修改secondactivity中的**,如下:

public

class

scondactivity

extends

baseactivity

..............

}

我們在secondactivity中新增了乙個actionstart()方法,在這個方法中完成intent的構建,另外所有secondactivity中需要的資料都是通過actionstart()方法的引數傳遞進來的,然後把他們儲存在intent中,最後呼叫startactivity方法啟動secondactivity.

這樣寫就一目了然了,secondactivity所需要的資料全部都在方法引數中體現出來了,這樣即使不用閱讀secondactivity中的**,也可以很清晰的知道啟動secondactivity需要傳遞那些資料,另外簡化了啟動活動的**.現在只需要一行**就可以啟動secondactivity了,如下:

button.setonclicklistener(new onclicklistener()

});

養成這樣的習慣,在開發中就會事半功倍了.方便他人,成就自己!!!

for迴圈的另一種方式

語法 for expr1 expr2 expr3 do done 解釋 expr1 控制變數的初始值 expr2 判定什麼時候退出迴圈 expr3 修正這個變數的值 範例 計算1到100之間的數值的和 這裡面 有倆種方式 最普通的是我們想到的是 1到100之間的數列,另一種是今天的小知識點的運用 這...

apache tomcat的集群 另一種方式

www.test.com proxypass it proxypass life proxypass live 注意,此項設定最好新增在httpd.conf檔案 section 2 以後的位置,伺服器192.168.1.1 3也應是具有相應功能的www伺服器,在重啟服務時,最好用apachectl ...

呼叫方法的另一種方式

一般我們呼叫乙個類的方法,都是通過這個類本身 static方法 或者它的乙個例項去呼叫.比如 inte ce iservice void runservice icontext context class servicea iservice public override void runservi...