【问题标题】:Pass object's info to another activity将对象的信息传递给另一个活动
【发布时间】:2019-05-31 23:20:47
【问题描述】:

我有一个 ListView,其中填充了来自 ArrayList 的对象。

当单击 ListView 上的一项时,会打开一个新活动“Contact Info”并显示该联系人的详细信息。

我有一个“编辑”按钮,单击该按钮会打开一个新活动。

我想用“联系信息”活动中的信息填写联系信息。

我可以使用 onItemClick 来做到这一点,但我不知道如何使用按钮 onClick 来做到这一点。

Contacts.java: https://imgur.com/LSlIcAi

ContactInfo.java: https://imgur.com/uRhozED

编辑: https://imgur.com/ND9sPPM

【问题讨论】:

    标签: java android android-studio object arraylist


    【解决方案1】:

    使用Intent 对象,并使用.putExtra() 在意图上添加额外数据。

    当您在第二个活动中时,使用.getIntent() 获取启动活动的意图,然后使用.getStringExtra() 或您正在使用的任何其他数据类型。

    示例:

    将额外的数据放入 Intent

    Intent intent = new Intent(FirstActivity.this, ContactInfoActivity.class);
    intent.putExtra("EXTRA_SESSION_ID", sessionId);
    startActivity(intent);
    

    从 Intent 中检索数据

    String sessionId= getIntent().getStringExtra("EXTRA_SESSION_ID");
    

    【讨论】:

    • 我能够使用onItemClick 上的信息将对象的信息从contacts.java 传递到contactinfo.java。但我不知道如何使用 onClick 将该信息和 id 传递给 ContactInfo.java
    • @PedroPinheiro 你是想问一个问题还是只是说它有效?我不明白你评论的要点。
    • 对不起。它没有用。我使用 putExtra(EXTRA_CONTACTNO, (int)id 从联系人活动发送信息。在第二个活动中,我使用 (Integer)getIntent().getExtras().get(EXTRA_CONTACTNO) 收到它。现在我正在尝试发送该信息到第三个活动,但在按钮上使用 onClick 方法,它不允许我放置(int)id
    • @PedroPinheiro 究竟是什么不起作用?如果您希望我帮助您,我需要更多信息。
    • 我能够修复它。我发布了答案。谢谢!
    【解决方案2】:

    我终于修好了。

    我只需要添加:int contactNo = (Integer)getIntent().getExtras().get(EXTRA_CONTACTNO); 在 onCLick 里面。

    谢谢

    【讨论】:

    • 您可以使用getIntExtra() 代替get() 并投射到Integer,这样就不需要使用投射了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-17
    相关资源
    最近更新 更多