Java android.widget.LinearLayout无法强制转换为android.widget.ImageView?

Java android.widget.LinearLayout无法强制转换为android.widget.ImageView?,java,android,xml,android-layout,Java,Android,Xml,Android Layout,我试图在gridView上显示图像,但出现以下错误:- java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to android.widget.ImageView at com.hubdatasolutions.receiptcloud.ReceiptTabActivity$ReceiptAdapter.getView(ReceiptTabActivity.java:128) <Linea

我试图在gridView上显示图像,但出现以下错误:-

 java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to android.widget.ImageView
 at com.hubdatasolutions.receiptcloud.ReceiptTabActivity$ReceiptAdapter.getView(ReceiptTabActivity.java:128)
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:padding="5dp" >
    <RelativeLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <ImageView
            android:id="@+id/item_image"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_marginRight="10dp"
            android:contentDescription="clickedImage"
            android:src="#ffffff" />

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
             android:layout_alignParentRight="true"
             android:src="@drawable/close"
           />
    </RelativeLayout>
        <TextView
            android:id="@+id/item_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:textSize="15sp" >
        </TextView>

    </LinearLayout>
row_grid.xml

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:padding="5dp" >
    <RelativeLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <ImageView
            android:id="@+id/item_image"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_marginRight="10dp"
            android:contentDescription="clickedImage"
            android:src="#ffffff" />

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
             android:layout_alignParentRight="true"
             android:src="@drawable/close"
           />
    </RelativeLayout>
        <TextView
            android:id="@+id/item_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:textSize="15sp" >
        </TextView>

    </LinearLayout>

活动\u收据\u tab.xml

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:padding="5dp" >
    <RelativeLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <ImageView
            android:id="@+id/item_image"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_marginRight="10dp"
            android:contentDescription="clickedImage"
            android:src="#ffffff" />

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
             android:layout_alignParentRight="true"
             android:src="@drawable/close"
           />
    </RelativeLayout>
        <TextView
            android:id="@+id/item_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:textSize="15sp" >
        </TextView>

    </LinearLayout>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
         xmlns:tools="http://schemas.android.com/tools"
         android:id="@+id/mainLayout"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:background="@drawable/menu_bg"
         tools:context=".ReceiptTabActivity" >
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:orientation="vertical" >
             <ImageView
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:background="@drawable/logo" />
             <GridView
                 android:id="@+id/gridView"
                 android:layout_width="match_parent"
                android:layout_height="0dp"
                 android:layout_weight="1"
                 android:columnWidth="90dp"
                 android:gravity="center"
                 android:horizontalSpacing="10dp"
                 android:numColumns="auto_fit"
                 android:stretchMode="columnWidth"
                android:verticalSpacing="10dp" >
             </GridView>
             <include layout="@layout/tab_footer" />
         </LinearLayout>
     </RelativeLayout>

receptabactivity.java

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:padding="5dp" >
    <RelativeLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <ImageView
            android:id="@+id/item_image"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_marginRight="10dp"
            android:contentDescription="clickedImage"
            android:src="#ffffff" />

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
             android:layout_alignParentRight="true"
             android:src="@drawable/close"
           />
    </RelativeLayout>
        <TextView
            android:id="@+id/item_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:textSize="15sp" >
        </TextView>

    </LinearLayout>
这是java文件,我在这里得到错误。这是我试图开发的两个类的文件。我正在同一文件中对gridView进行膨胀

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:padding="5dp" >
    <RelativeLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <ImageView
            android:id="@+id/item_image"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_marginRight="10dp"
            android:contentDescription="clickedImage"
            android:src="#ffffff" />

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
             android:layout_alignParentRight="true"
             android:src="@drawable/close"
           />
    </RelativeLayout>
        <TextView
            android:id="@+id/item_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:textSize="15sp" >
        </TextView>

    </LinearLayout>
    public class ReceiptTabActivity extends BaseTabActivity {

    GridView mGrid;
    ReceiptAdapter mAdapter;
    ArrayList<ReceiptData> mReceiptList = new ArrayList<ReceiptData>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_receipt_tab);

        mReceiptList = APICaller.getInstance().getReceiptList();


        mGrid = (GridView) findViewById(R.id.gridView);
    //  mAdapter = new ReceiptAdapter(this, R.layout.receipt_grid_item);
        //mGrid.setAdapter(mAdapter);
        mAdapter = new ReceiptAdapter(this,R.layout.row_grid);
        mGrid.setAdapter(mAdapter);
        APICaller.getInstance().downloadPicData();
    }

    @Override
    public void onRefreshData(Refreshable refreshable, int requestCode) {
        if (requestCode == APICaller.DOWNLOAD_PIC_REQUEST_CODE) {
            for (ReceiptData receipt : mReceiptList) {
                String filePath = receipt.getFilePath();
                if (filePath != null && !filePath.isEmpty()) {
                    File file = new File(filePath);
                    Bitmap bitmap = decodeFile(file);
                    if (bitmap != null)
                        receipt.setImage(bitmap);
                    else
                        Log.i("Bitmap", "Still null");
                } else {
                    Log.i("String", "Still null");
                }
            }
            mAdapter.notifyDataSetChanged();
        }
    }

    // decodes image and scales it to reduce memory consumption
    private Bitmap decodeFile(File f) {
        try {
            // Decode image size
            BitmapFactory.Options o = new BitmapFactory.Options();
            o.inJustDecodeBounds = true;
            BitmapFactory.decodeStream(new FileInputStream(f), null, o);

            // The new size we want to scale to
            final int REQUIRED_SIZE = 70;

            // Find the correct scale value. It should be the power of 2.
            int scale = 1;
            while (o.outWidth / scale / 2 >= REQUIRED_SIZE
                    && o.outHeight / scale / 2 >= REQUIRED_SIZE)
                scale *= 2;

            // Decode with inSampleSize
            BitmapFactory.Options o2 = new BitmapFactory.Options();
            o2.inSampleSize = scale;
            return BitmapFactory.decodeStream(new FileInputStream(f), null, o2);
        } catch (FileNotFoundException e) {
        }
        return null;
    }

    private Bitmap decodeOriginalFile(File f) {
        try {

            return BitmapFactory.decodeStream(new FileInputStream(f));
        } catch (FileNotFoundException e) {
        }
        return null;
    }

    class ReceiptAdapter extends ArrayAdapter<View> {
        Context mContext;
        int mResource;
        ArrayList<ReceiptData> data = new ArrayList<ReceiptData>();
        public ReceiptAdapter(Context context, int resource) {
            super(context, resource);
            mContext = context;
            mResource = resource;
        }

        @Override
        public int getCount() {
            return mReceiptList.size();
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            //ImageButton mainView;
            ImageView mainView;
            //View row = convertView;
            //RecordHolder holder = null;

            mainView = (ImageView) findViewById(R.id.item_image);
            //String info = ImageView.getText().toString();
            LayoutInflater inflater = ((Activity) mContext).getLayoutInflater();
            mainView = (ImageView) inflater.inflate(mResource, parent, false);


            Bitmap bitmap = mReceiptList.get(position).getImage();
            if (bitmap != null)
                mainView.setImageBitmap(bitmap);

            return mainView;
        }

    }
}  
public类receiptabactivity扩展了BaseTabActivity{
GridView-mGrid;
接收机适配器;
ArrayList mReceiptList=新的ArrayList();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u receive\u选项卡);
mReceiptList=APICaller.getInstance().getReceiptList();
mGrid=(GridView)findviewbyd(R.id.GridView);
//mAdapter=新的接收适配器(此,R.layout.receipt\u grid\u项);
//经理setAdapter(mAdapter);
mAdapter=新的接收适配器(此,R.layout.row_网格);
经理setAdapter(mAdapter);
APICaller.getInstance().downloadPicData();
}
@凌驾
public void onRefreshData(可刷新、可刷新、int requestCode){
if(requestCode==APICaller.DOWNLOAD\u PIC\u REQUEST\u CODE){
用于(接收数据接收:mReceiptList){
字符串filePath=receive.getFilePath();
if(filePath!=null&&!filePath.isEmpty()){
文件文件=新文件(文件路径);
位图位图=解码文件(文件);
if(位图!=null)
receive.setImage(位图);
其他的
Log.i(“位图”,“仍然为空”);
}否则{
Log.i(“字符串”,“仍然为空”);
}
}
mAdapter.notifyDataSetChanged();
}
}
//对图像进行解码和缩放以减少内存消耗
私有位图解码文件(文件f){
试一试{
//解码图像大小
BitmapFactory.Options o=新的BitmapFactory.Options();
o、 inJustDecodeBounds=true;
解码流(新的FileInputStream(f),null,o);
//我们要扩展到的新尺寸
所需的最终int_尺寸=70;
//找到正确的刻度值。它应该是2的幂。
int标度=1;
而(o.outWidth/scale/2>=所需尺寸
&&o.外高度/刻度/2>=所需尺寸)
比例*=2;
//用inSampleSize解码
BitmapFactory.Options o2=新的BitmapFactory.Options();
o2.inSampleSize=刻度;
返回BitmapFactory.decodeStream(新文件输入流(f),null,o2);
}catch(filenotfounde异常){
}
返回null;
}
私有位图解码原始文件(文件f){
试一试{
返回BitmapFactory.decodeStream(新文件输入流(f));
}catch(filenotfounde异常){
}
返回null;
}
类ReceiptAdapter扩展了ArrayAdapter{
语境;
国际资源;
ArrayList数据=新的ArrayList();
公共ReceiptAdapter(上下文,int资源){
超级(上下文、资源);
mContext=上下文;
mResource=资源;
}
@凌驾
public int getCount(){
返回mReceiptList.size();
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
//图像按钮主视图;
ImageView主视图;
//视图行=转换视图;
//记录持有者=null;
mainView=(ImageView)findViewById(R.id.item\u图像);
//String info=ImageView.getText().toString();
LayoutFlater充气器=((活动)mContext.getLayoutFlater();
mainView=(ImageView)充气器。充气(mResource,父项,false);
位图Bitmap=mReceiptList.get(position.getImage();
if(位图!=null)
mainView.setImageBitmap(位图);
返回主视图;
}
}
}  

在适配器类的构造函数中初始化充气机

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:padding="5dp" >
    <RelativeLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <ImageView
            android:id="@+id/item_image"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_marginRight="10dp"
            android:contentDescription="clickedImage"
            android:src="#ffffff" />

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
             android:layout_alignParentRight="true"
             android:src="@drawable/close"
           />
    </RelativeLayout>
        <TextView
            android:id="@+id/item_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:textSize="15sp" >
        </TextView>

    </LinearLayout>
LayoutInaflater inflater;
public ReceiptAdapter(Context context, int resource) {
            super(context, resource);
            mContext = context;
            mResource = resource;
            infalter= LayoutInflater.from(context);
        }
getView
更改为

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:padding="5dp" >
    <RelativeLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <ImageView
            android:id="@+id/item_image"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_marginRight="10dp"
            android:contentDescription="clickedImage"
            android:src="#ffffff" />

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
             android:layout_alignParentRight="true"
             android:src="@drawable/close"
           />
    </RelativeLayout>
        <TextView
            android:id="@+id/item_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:textSize="15sp" >
        </TextView>

    </LinearLayout>
public View getView(int position, View convertView, ViewGroup parent) {

        ViewHolder viewHolder;
        if(convertView==null)
        { 
        viewHolder = new ViewHolder();
        convertView = inflater.inflate(R.layout.row_grid, null);
        // inflate row_grid.xml  

        viewHolder.mainView= (ImageView)convertView.findViewById(R.id.item_image);
        //initialize imageview
        convertView.setTag(viewHolder);
        }else{
         viewHolder = (ViewHolderItem) convertView.getTag();

        }
        Bitmap bitmap = mReceiptList.get(position).getImage();
        if (bitmap != null)
           holder.mainView.setImageBitmap(bitmap); 
           // set bitmap to imageview

        return convertView;
    }
使用
ViewHolder

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:padding="5dp" >
    <RelativeLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <ImageView
            android:id="@+id/item_image"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_marginRight="10dp"
            android:contentDescription="clickedImage"
            android:src="#ffffff" />

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
             android:layout_alignParentRight="true"
             android:src="@drawable/close"
           />
    </RelativeLayout>
        <TextView
            android:id="@+id/item_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:textSize="15sp" >
        </TextView>

    </LinearLayout>

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:padding="5dp" >
    <RelativeLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <ImageView
            android:id="@+id/item_image"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_marginRight="10dp"
            android:contentDescription="clickedImage"
            android:src="#ffffff" />

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
             android:layout_alignParentRight="true"
             android:src="@drawable/close"
           />
    </RelativeLayout>
        <TextView
            android:id="@+id/item_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:textSize="15sp" >
        </TextView>

    </LinearLayout>

在适配器类的构造函数中初始化充气器

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:padding="5dp" >
    <RelativeLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <ImageView
            android:id="@+id/item_image"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_marginRight="10dp"
            android:contentDescription="clickedImage"
            android:src="#ffffff" />

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
             android:layout_alignParentRight="true"
             android:src="@drawable/close"
           />
    </RelativeLayout>
        <TextView
            android:id="@+id/item_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:textSize="15sp" >
        </TextView>

    </LinearLayout>
LayoutInaflater inflater;
public ReceiptAdapter(Context context, int resource) {
            super(context, resource);
            mContext = context;
            mResource = resource;
            infalter= LayoutInflater.from(context);
        }
getView
更改为

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:padding="5dp" >
    <RelativeLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <ImageView
            android:id="@+id/item_image"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_marginRight="10dp"
            android:contentDescription="clickedImage"
            android:src="#ffffff" />

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
             android:layout_alignParentRight="true"
             android:src="@drawable/close"
           />
    </RelativeLayout>
        <TextView
            android:id="@+id/item_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:textSize="15sp" >
        </TextView>

    </LinearLayout>
public View getView(int position, View convertView, ViewGroup parent) {

        ViewHolder viewHolder;
        if(convertView==null)
        { 
        viewHolder = new ViewHolder();
        convertView = inflater.inflate(R.layout.row_grid, null);
        // inflate row_grid.xml  

        viewHolder.mainView= (ImageView)convertView.findViewById(R.id.item_image);
        //initialize imageview
        convertView.setTag(viewHolder);
        }else{
         viewHolder = (ViewHolderItem) convertView.getTag();

        }
        Bitmap bitmap = mReceiptList.get(position).getImage();
        if (bitmap != null)
           holder.mainView.setImageBitmap(bitmap); 
           // set bitmap to imageview

        return convertView;
    }
使用
ViewHolder

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:padding="5dp" >
    <RelativeLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <ImageView
            android:id="@+id/item_image"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_marginRight="10dp"
            android:contentDescription="clickedImage"
            android:src="#ffffff" />

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
             android:layout_alignParentRight="true"
             android:src="@drawable/close"
           />
    </RelativeLayout>
        <TextView
            android:id="@+id/item_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:textSize="15sp" >
        </TextView>

    </LinearLayout>

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:padding="5dp" >
    <RelativeLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <ImageView
            android:id="@+id/item_image"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_marginRight="10dp"
            android:contentDescription="clickedImage"
            android:src="#ffffff" />

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
             android:layout_alignParentRight="true"
             android:src="@drawable/close"
           />
    </RelativeLayout>
        <TextView
            android:id="@+id/item_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:textSize="15sp" >
        </TextView>

    </LinearLayout>
对于这两行:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:padding="5dp" >
    <RelativeLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <ImageView
            android:id="@+id/item_image"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_marginRight="10dp"
            android:contentDescription="clickedImage"
            android:src="#ffffff" />

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
             android:layout_alignParentRight="true"
             android:src="@drawable/close"
           />
    </RelativeLayout>
        <TextView
            android:id="@+id/item_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:textSize="15sp" >
        </TextView>

    </LinearLayout>
    mainView = (ImageView) findViewById(R.id.item_image);
...
    mainView = (ImageView) inflater.inflate(mResource, parent, false);
看来你犯了复制粘贴错误。是的,您希望将第一个视图转换为
ImageView
,但我认为正在膨胀的第二个
mainView
应该是您在那里编写的第一个xml代码片段中的
线性布局

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:padding="5dp" >
    <RelativeLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <ImageView
            android:id="@+id/item_image"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_marginRight="10dp"
            android:contentDescription="clickedImage"
            android:src="#ffffff" />

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
             android:layout_alignParentRight="true"
             android:src="@drawable/close"
           />
    </RelativeLayout>
        <TextView
            android:id="@+id/item_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:textSize="15sp" >
        </TextView>

    </LinearLayout>
    mainView = (ImageView) findViewById(R.id.item_image);
...
    mainView = (ImageView) inflater.inflate(mResource, parent, false);

看来你犯了复制粘贴错误。是的,您希望将第一个视图转换为
ImageView
,但我认为第二个正在膨胀的
mainView
应该是您在那里编写的第一个xml片段中的
LinearLayout

在适配器的getView中,首先膨胀行网格,然后使用它来查找您的ImageView

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:padding="5dp" >
    <RelativeLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <ImageView
            android:id="@+id/item_image"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_marginRight="10dp"
            android:contentDescription="clickedImage"
            android:src="#ffffff" />

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
             android:layout_alignParentRight="true"
             android:src="@drawable/close"
           />
    </RelativeLayout>
        <TextView
            android:id="@+id/item_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:textSize="15sp" >
        </TextView>

    </LinearLayout>
  View rowview = (View) inflater.inflate(mResource, parent, false);
  mainView = (ImageView) rowview.findViewById(R.id.item_image);

执行所需的任何自定义设置,然后在适配器的getView中返回行网格(以上代码中为rowview)

,首先充气行网格,然后使用它查找ImageView

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:padding="5dp" >
    <RelativeLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <ImageView
            android:id="@+id/item_image"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_marginRight="10dp"
            android:contentDescription="clickedImage"
            android:src="#ffffff" />

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
             android:layout_alignParentRight="true"
             android:src="@drawable/close"
           />
    </RelativeLayout>
        <TextView
            android:id="@+id/item_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:textSize="15sp" >
        </TextView>

    </LinearLayout>
  View rowview = (View) inflater.inflate(mResource, parent, false);
  mainView = (ImageView) rowview.findViewById(R.id.item_image);
执行所需的任何自定义,然后返回row_网格(上述代码中的rowview)

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:padding="5dp" >
    <RelativeLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <ImageView
            android:id="@+id/item_image"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_marginRight="10dp"
            android:contentDescription="clickedImage"
            android:src="#ffffff" />

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
             android:layout_alignParentRight="true"
             android:src="@drawable/close"
           />
    </RelativeLayout>
        <TextView
            android:id="@+id/item_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:textSize="15sp" >
        </TextView>

    </LinearLayout>