码农-小林 2024-07-25 17:49 采纳率: 54.8%
浏览 4
已结题

andriod中获取if中的数组有些可以获取有些不行

请教下andriod中获取if中的数组有些可以获取有些不行(树列表一样)
这是获取得到的树数组复制图片和 TowerData 赋值有打印

img


, jyt.com.monitor.bean.MonitorLineListInfo$ProvinceDataBean$CitysDataBean$LineDataBean$TowerDataBean@88e9a44, jyt.com.monitor.bean.MonitorLineListInfo$ProvinceDataBean$CitysDataBean$LineDataBean$TowerDataBean@c50972d]524212
这是在handler中的代码和打印,这是可以拿到size长度和数组值的:

img


这是获取不到得到的树数组复制图片和 TowerData 赋值有打印

img

  • 写回答

1条回答 默认 最新

  • 码农阿豪@新空间 新星创作者: 前端开发技术领域 2024-07-25 18:03
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    问题中提到在Android中获取某些数组是可以的,而某些则不行,就像树状列表一样。这可能是由于在不同情况下,数组对象的引用或复制方式不同导致的。下面我会对处理数组数据时可能遇到的问题进行解答:
    1. 如果可以获取到数组长度和值,但无法获取数组对象引用,可能是由于线程调度问题导致。以下是一段可能的Handler代码示例:
    Handler mHandler = new Handler(Looper.getMainLooper()) {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if (msg.what == YOUR_MESSAGE_CODE) {
                ArrayList<String> list = msg.getData().getStringArrayList("your_array_key");
                Log.d("Handler", "Array size: " + list.size());
                for (String item : list) {
                    Log.d("Handler", "Array item: " + item);
                }
            }
        }
    };
    // 在需要发送数组的地方
    Message message = mHandler.obtainMessage(YOUR_MESSAGE_CODE);
    Bundle bundle = new Bundle();
    ArrayList<String> yourArray = new ArrayList<>();
    yourArray.add("item1");
    yourArray.add("item2");
    bundle.putStringArrayList("your_array_key", yourArray);
    message.setData(bundle);
    mHandler.sendMessage(message);
    
    1. 如果无法获取到数组长度和值,可能是因为数据未正确传递或解析。请确保通过Bundle或其他方式将数组正确传递给Handler,并在处理消息时正确解析数组数据。 希望以上解答能够帮助您解决在Android中获取数组数据的问题。如果您仍然遇到困难或需要进一步的帮助,请提供更多信息以便我们更好地帮助您。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月26日
  • 已采纳回答 7月26日
  • 创建了问题 7月25日