GridView ListActivity的OnPause方法 - Android

时间:2014-01-24 06:32:43

标签: android gridview baseadapter

显示ListView或GridView时会使用一些模式。鉴于XML文件和我的第一个方法显示,我的相应第二种方法是什么?现在怎么样,我得到一个异常,就是在第二个方法的这一行显示一个RelativeLayout无法强制转换为ImageView:ImageView v = (ImageView) gridView.getChildAt(i);我知道我的gridView是一堆relativeLayouts但不知道如何访问他们的drawables

这是myLayout.XML:

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

        <ImageView
            android:id="@+id/icon"
            android:layout_width="200dp"
            android:layout_height="200dp"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:padding="8dp"
            android:scaleType="fitCenter" />

    </RelativeLayout>

ImageAdapter.getView()

public View getView(int position, View convertView, ViewGroup parent) {
              ViewHolder holder;
              ImageHelper ih = new ImageHelper();
              if (convertView == null) {
              convertView = mInflater.inflate(R.layout.mylayout, null);

              holder = new ViewHolder();
              holder.icon = (ImageView) convertView.findViewById(R.id.icon);

              convertView.setTag(holder);
              } else {
              holder = (ViewHolder) convertView.getTag();
              }

              holder.icon.setImageBitmap(ih.decodeSampledBitmapFromImagePath(mList.get(position), 150, 150));

              return convertView;
          }

ViewGridView.OnPause()

    @Override
        protected void onPause() {
            GridView gridView = (GridView) findViewById(R.id.gridviewViewOutfits);
            int count = gridView.getCount();
            for (int i = 0; i < count; i++) {
                ImageView v = (ImageView) gridView.getChildAt(i);
                if (v != null) {
                    if (v.getDrawable() != null) v.getDrawable().setCallback(null);
                }
            }
            super.onPause();
        }

由于

1 个答案:

答案 0 :(得分:1)

试试这个

ImageView v = (ImageView)((ViewGroup)gridView.getChildAt(i)).getChildAt(0);