簡體   English   中英

將參考傳遞給另一個活動-Android

[英]Pass reference to another activity - Android

我對android非常陌生,因此我正在嘗試教程代碼。 特別是記事本。

如果您在此處查看: http : //developer.android.com/resources/tutorials/notepad/notepad-ex2.html ,則在第5步中輸入值,以便NoteEdit可以使用它。

我想將NotesDbAdapter的引用傳遞到NoteEdit中,以便實際上可以做一些完全不同的事情。

它似乎並沒有調用構造函數。 我曾嘗試向NoteEdit onCreate添加一個參數,但似乎不喜歡這樣嗎? :-(

專家,我最期待聽到您的回答! :-D

放置/獲取額外內容未通過構造函數傳遞,您必須明確地從意圖中讀取內容,可能在onCreate方法中

第一次活動

Intent myIntent = new Intent();
myIntent.putExtra("key", "value");
startActivity(myIntent); 

新活動

onCreate中的代碼

Intent myIntent = getIntent(); 
myIntent.getExtra("key");

如果要傳遞自定義類,則該類必須實現可序列化,然后閱讀:

Bundle e = getIntent().getExtras();
Object obj=(Object) e.getSerializable("key");

我同意卡斯蒂布蘭科先生的意見。 不要嘗試這樣做。

您的Adapter具有對主Activity的引用,該主Activity具有Adapter連接到的ListView 如果要將Adapter轉移到新的Activity ,則新的Activity將保留對舊Activity的引用。 這將阻止Android銷毀舊的Activity以釋放其他應用程序的內存,因為新的Activity將保留對它的引用,從而防止垃圾回收。

如果您需要在活動之間共享數據模型,請將該數據模型保留在那些活動之外(例如,database, ServiceApplication )。 您的Adapter不是您的數據模型。

暫無
暫無

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

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