在 android 中類似于 handler 或則 asynctask 這樣的類,屬于設(shè)置成靜內(nèi)部態(tài)類或則單獨(dú)新建一個(gè)類,這個(gè)時(shí)候如果想要引用到其他的變量需要使用構(gòu)造器的方式來傳入?yún)?shù),但是 java 中是值傳遞,類似于 int 類型的參數(shù)的值是無法改變的。我的困難是protected Integer doInBackground(Integer... mode) { if (!isCancelled()) { switch (mode[0]) { case GET_LATEST: { if ((temp = new MovieOkhttp(mcontext). getPopularMovieResults(FIR_PAGE)) != null) { mList.clear(); mList.addAll(temp); } mpage = 1; break; } case GET_MORE: { mpage = mpage + 1; if ((temp = new MovieOkhttp(mcontext). getPopularMovieResults(mpage)) != null) { mList.addAll(temp); } break; } } }這里的 mpage 并不能改變 activity 中的 page 的值所以獲取到的數(shù)據(jù)一直都是一樣的。請問類似于這樣的情況應(yīng)該如何解決。我想的方法是在調(diào)用 asynctask 的時(shí)候手動(dòng)更改 page 的值,但是存在活動(dòng)銷毀的問題,同時(shí)這個(gè)方法也顯的特別的亂。請問有什么方法可以解決這樣的問題嗎,謝謝。
1 回答

梵蒂岡之花
TA貢獻(xiàn)1900條經(jīng)驗(yàn) 獲得超5個(gè)贊
不能傳值可以傳handle或者方法回調(diào)啊,這樣應(yīng)該可以吧。
你不是說到使用構(gòu)造函數(shù)嗎?你構(gòu)造函數(shù)不能傳普通的值可以傳對(duì)象引用,類似你給按鈕添加響應(yīng)事件。
添加回答
舉報(bào)
0/150
提交
取消