繁体   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