Android 在自定义listView中交换imageView和textView使应用程序强制关闭

Android 在自定义listView中交换imageView和textView使应用程序强制关闭,android,Android,我刚刚完成了这项工作,工作进展顺利,(顺便说一句,我将自定义列表的布局更改为线性布局。下面是代码: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="f

我刚刚完成了这项工作,工作进展顺利,(顺便说一句,我将自定义列表的布局更改为线性布局。下面是代码:

<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >

        <ImageView
            android:id="@+id/icon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_launcher" />

        <TextView
            android:id="@+id/title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView" />

        <TextView
            android:id="@+id/desc"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView" />

    </LinearLayout>

问题不是因为布局更改,而是尝试在代码中进行如下更改,只需在RowItem类中交换参数,如

public RowItem(int imageId, String title, String desc) {

和在ImageTextListViewActivity类中

rowItems = new ArrayList<RowItem>();
for (int i = 0; i < titles.length; i++) {
    RowItem item = new RowItem(images[i], titles[i], descriptions[i]);
    rowItems.add(item);
}
rowItems=newArrayList();
对于(int i=0;i

rowItems=newArrayList();
对于(int i=0;i

更新:如果您使用的是eclipse,请删除您的R.java,重建项目,运行它

问题不是因为布局更改,请尝试在代码中进行如下更改,只需在RowItem类中交换参数,如

public RowItem(int imageId, String title, String desc) {

和在ImageTextListViewActivity类中

rowItems = new ArrayList<RowItem>();
for (int i = 0; i < titles.length; i++) {
    RowItem item = new RowItem(images[i], titles[i], descriptions[i]);
    rowItems.add(item);
}
rowItems=newArrayList();
对于(int i=0;i

rowItems=newArrayList();
对于(int i=0;i


更新:如果您使用的是eclipse,请删除您的R.java,重建项目,运行它

在更改布局之前它是否工作正常?是的,它工作正常。然后尝试更改代码,查看我的答案在应用程序崩溃时粘贴日志。您还没有收到任何帮助。因此请稍后继续感谢。没有问题在这些xml布局中。粘贴日志以便更好地理解。检查我更新的答案,删除你的R.java,文件并重建项目,然后运行它在更改布局之前是否工作正常??是的,它工作正常。然后尝试更改代码,请参阅我的答案在应用程序崩溃时粘贴日志。你还没有收到任何帮助。因此,请继续e谢谢您稍后的回复。这些xml布局没有问题。请粘贴您的logcat以便更好地理解。检查我更新的答案,删除您的R.java、文件和重建项目,然后运行我已经完成了这项工作,但它不起作用,布局没有改变。您可以发布您的logcat日志吗,它会找出问题的确定logcat包括在内,顺便说一句,如果我对两个文本视图使用了你的方法,它会很好地交换它们,但对于imageView它不起作用。更新后,它的工作方式与它应该的一样。谢谢你,我的朋友。真的谢谢你:)我已经这样做了,但它不起作用,布局不会改变。你能发布你的logCat日志吗,会发现问题的OK logcat包括在内,顺便说一句,如果我对两个文本视图使用您的方法,它会很好地交换它们,但是对于imageView它不工作。随着更新,它工作正常。谢谢我的朋友。真的谢谢:)
rowItems = new ArrayList<RowItem>();
for (int i = 0; i < titles.length; i++) {
    RowItem item = new RowItem(images[i], titles[i], descriptions[i]);
    rowItems.add(item);
}
rowItems = new ArrayList<RowItem>();
for (int i = 0; i < titles.length; i++) {
    RowItem item = new RowItem(titles[i], images[i], descriptions[i]);
    rowItems.add(item);
}