在 android 中類似于 handler 或則 asynctask 這樣的類,屬于設置成靜內部態類或則單獨新建一個類,這個時候如果想要引用到其他的變量需要使用構造器的方式來傳入參數,但是 java 中是值傳遞,類似于 int 類型的參數的值是無法改變的。我的困難是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 的值所以獲取到的數據一直都是一樣的。請問類似于這樣的情況應該如何解決。我想的方法是在調用 asynctask 的時候手動更改 page 的值,但是存在活動銷毀的問題,同時這個方法也顯的特別的亂。請問有什么方法可以解決這樣的問題嗎,謝謝。
1 回答

梵蒂岡之花
TA貢獻1900條經驗 獲得超5個贊
不能傳值可以傳handle或者方法回調啊,這樣應該可以吧。
你不是說到使用構造函數嗎?你構造函數不能傳普通的值可以傳對象引用,類似你給按鈕添加響應事件。
添加回答
舉報
0/150
提交
取消