xml修改后报错: java.lang.ClassCastException: android.widget.LinearLayout




06-24 01:40:01.692: E/AndroidRuntime(997): Caused by: java.lang.ClassCastException: android.widget.LinearLayout

修改了xml布局后,就报上面的错误,意思大概是xml上定义的标签类型不一致,导致类型转换错误

但是反复检查后,发现类型是对的

解决方法是:删除gen目录下的R.java这个文件。(注:删除之后系统会自动重新生成这个id文件)

根据提供的引用内容,可以看出这是一个Android编程的问题,需要使用Bundle传递对象。在这个问题中,需要创建一个Person类,该类需要实现Serializable接口,以便在不同的Activity之间传递。在HobbyActivity中,需要创建一个ArrayList<Person>泛型集合,保存四个Person类的对象,并使用ListView显示姓名。当单击姓名时,需要进入MessageActivity,显示姓名、年龄和爱好。最终结果应该显示BMI计算器张三李四王五赵权。 具体步骤如下: 1. 创建Person类,该类需要实现Serializable接口,以便在不同的Activity之间传递。 2. 在HobbyActivity中,创建一个ArrayList<Person>泛型集合,保存四个Person类的对象,并使用ListView显示姓名。 3. 当单击姓名时,使用Intent传递该Person对象到MessageActivity中。 4. 在MessageActivity中,获取传递过来的Person对象,并显示姓名、年龄和爱好。 代码示例: 1. Person类的定义: ``` public class Person implements Serializable { private String name; private int age; private String hobby; public Person(String name, int age, String hobby) { this.name = name; this.age = age; this.hobby = hobby; } public String getName() { return name; } public int getAge() { return age; } public String getHobby() { return hobby; } } ``` 2. 在HobbyActivity中,创建ArrayList<Person>泛型集合,并使用ListView显示姓名: ``` ArrayList<Person> personList = new ArrayList<>(); personList.add(new Person("张三", 20, "篮球")); personList.add(new Person("李四", 22, "足球")); personList.add(new Person("王五", 25, "乒乓球")); personList.add(new Person("赵权", 18, "羽毛球")); ListView listView = findViewById(R.id.listView); ArrayAdapter<Person> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, personList); listView.setAdapter(adapter); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Intent intent = new Intent(HobbyActivity.this, MessageActivity.class); intent.putExtra("person", personList.get(position)); startActivity(intent); } }); ``` 3. 在MessageActivity中,获取传递过来的Person对象,并显示姓名、年龄和爱好: ``` TextView nameTextView = findViewById(R.id.nameTextView); TextView ageTextView = findViewById(R.id.ageTextView); TextView hobbyTextView = findViewById(R.id.hobbyTextView); Intent intent = getIntent(); Person person = (Person) intent.getSerializableExtra("person"); nameTextView.setText(person.getName()); ageTextView.setText(String.valueOf(person.getAge())); hobbyTextView.setText(person.getHobby()); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值