android修改不起作用or细微修改导致布局大乱甚至出现莫名其妙的异常

本文描述了一次在修改layout XML文件后导致界面显示错误及多页面异常的问题,并分享了作者排查过程中的发现与解决方法。

最近在工作做出现几次莫名其妙的状况。不知道是不是只有我一个人遇到过。

  我对一个layout xml文件进行了一个细小的修改,结果导致整个界面面目全非,毫无逻辑。排查多次可以排除是代码的问题。

          有一次,我只不过是修给了一个控件的android:background 熟悉。结果导致多个不相关的页面报出异常nullpointerexception ,ClassCastException等等。无论是在模拟器和真机上都是这样的结果,重启eclipse也无济于事。

经过多次的尝试,初步判断是ide或者adt间歇性抽风。下面是我总结的几个方法。

         1.删除bin目录下的一些文件,在run。这样可以解决绝大多数的“修改不起作用”的问题。

         2.将修改撤回,run一次。然后再对文件进行修改,再run一次。可以解决其他几种情况。

Java 中,有多种方法可以实现打乱数组元素的顺序,下面介绍常见的两种方式。 ### 方法一:使用 `Random` 类 通过 `Random` 类生成随机索引,将数组元素进行交换从而打乱顺序。以下是示例代码: ```java import java.util.Random; public class ShuffleArray { public static void main(String[] args) { int[] arr = {1, 2, 3, 4, 5}; Random r = new Random(); for (int i = 0; i < arr.length; i++) { int randomIndex = r.nextInt(arr.length); int temp = arr[i]; arr[i] = arr[randomIndex]; arr[randomIndex] = temp; } for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + " "); } } } ``` 上述代码中,利用 `Random` 类的 `nextInt` 方法生成随机索引,然后将当前索引 `i` 对应的元素和随机索引对应的元素进行交换,最终实现数组的打乱。这种方式的原理是通过不断随机交换元素位置来打乱顺序,代码简洁易懂,适用于小型数组的打乱操作。 ### 方法二:使用 `Collections.shuffle` 方法(适用于对象数组) 如果是对象数组,可以将数组转换为 `List`,使用 `Collections.shuffle` 方法打乱顺序,再转换回数组。示例代码如下: ```java import java.util.ArrayList; import java.util.Collections; import java.util.List; public class ShuffleObjectArray { public static void main(String[] args) { Integer[] arr = {1, 2, 3, 4, 5}; List<Integer> list = new ArrayList<>(); for (Integer num : arr) { list.add(num); } Collections.shuffle(list); for (int i = 0; i < list.size(); i++) { arr[i] = list.get(i); } for (int num : arr) { System.out.print(num + " "); } } } ``` 上述代码先将 `Integer` 数组转换为 `ArrayList`,调用 `Collections.shuffle` 方法打乱 `List` 中的元素顺序,再将 `List` 中的元素重新放回数组。这种方式利用了 Java 集合框架中提供的方法,代码更加简洁且功能强大,适用于对象数组的打乱操作。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值