大海话语 2022-01-18 21:23 采纳率: 87.6%
浏览 33
已结题

如何用Intent得到一个实体类,

我是在一个播放页面,想要得到一个语音数据,但是,从语音条页面发送的是一个实体对象的,在接收的类里面怎么接收呀?
下面是接收的代码行,报错

img

从一个Adapter里面发送的信息

img


里面的 (Parcelable) 好像不能这么写,会报不能转换的错误,那这里我只给传一个网络语音的网络地址吗?比如:

intent.putExtra("myTuyuVoiceUrl", tuyuEntity.getVoiceUrl());

下面是整段代码

/**
         * fromMyTuyu等 在有音乐数据条页面的setOnItemClickListener中设置了 intent.putExtra(..."1"),
         * 本类如果得到等于1,那么就播放谁。好分辨数据来源或列表item
         * */
        fromMyTuyu = getIntent().getStringExtra("fromMyTuyu");//得到 将fromAlbum 放入意图中的类的Intent信息
        fromMyTuyu = setNotNull(fromMyTuyu);//设置非空
        playTuyuEntity = getIntent().getDataString("myTuyuEntity",playTuyuEntity);
        initSystemUI();
        initView();

        if (fromMyTuyu != null && fromMyTuyu.length()>0){
            if (fromMyTuyu.equals("1")){
                startPlayLocalTuyu(playTuyuEntity);
            }
        }

这里面的 playTuyuEntity = getIntent().getDataString("myTuyuEntity",playTuyuEntity); 应该是不行的,不能在后面带数据或实体类的。
那么,就接收一个

String voiceUrl = getIntent().getStringExtra("myTuyuVoiceUrl");

但是,我在下面的playTuyu()中有需要一个实体类的,一些操作,
然后,得到了路径

 private void playTuyuOngoing(TuyuEntityImpl tuyuEntity){
        mLrcView.reset();

        //播放
        TuyuPlayerManager.getInstance().startPlay(tuyuEntity.getVoiceUrl());


如果,将上边的getIntent.getDataString 一行擦去,也不知道哪里错了哈。。

  • 写回答

2条回答 默认 最新

  • 立青_ 2022-01-19 09:30
    关注

    实体类得实现Parcelable接口,然后在目标activity就能通过getIntent().getParcelableExtra(name)得到对象
    也可以实现Serializable接口,可以getIntent().getSerializableExtra()得到,但是得到的是Serializable,必须强转一下
    传递对象需要序列化,序列化的方式通常有2种,一种是java自带的Serializable,一种就是Android的Parcelable

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月27日
  • 已采纳回答 1月19日
  • 赞助了问题酬金 1月19日
  • 修改了问题 1月18日
  • 展开全部

悬赏问题

  • ¥100 求数学坐标画圆以及直线的算法
  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决