获取图库元素

时间:2011-12-08 13:27:57

标签: android android-gallery

我已经创建了一个库,现在我想在代码中更改它。画廊的元素由两个Textviews组成,我想得到行数。

我试过了:

TextView top = (TextView)findViewById(R.id.top);
top.getLineCount();

但该应用程序在top.getLineCount();崩溃了有没有人有想法?

CustomAdapter的GetView

       public View getView(int position, View convertView, ViewGroup parent) {

       LayoutInflater iteminflater = LayoutInflater.from(mContext);
       View gallaryitem = iteminflater.inflate(R.layout.gallery_item, null);
       ImageView imgView= (ImageView ) gallaryitem .findViewById(R.id.item);
       imgView.setImageResource(mImageIds[position]);


       //TextView top = (TextView)convertView.findViewById(R.id.top);
       //top.getLineCount();





       return gallaryitem ;
   }

LayoutFile

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

   <ImageView
    android:id="@+id/item"
    android:layout_height="fill_parent"
    android:layout_width="fill_parent" 
    android:src="@drawable/icon"
    android:gravity="center"
    android:background="#4E4E4E"/>


<TextView 
    android:id="@+id/bottom" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="moremore" 
    android:textSize="27sp"

    android:layout_marginTop="275dip"
    android:paddingTop="35dip"
    android:textColor="#eeeeee"
    android:background="#60000000"
    android:textStyle="bold"
    android:typeface="sans"/>

 <TextView 
    android:id="@+id/top" 
    android:layout_width="fill_parent" 
    android:text="testtesttesttesttesttesttest" 
    android:textSize="22sp"
    android:layout_marginTop="280dip"
    android:layout_marginLeft="10dip"
    android:layout_marginRight="10dip"
    android:textColor="#eeeeee"
    android:background="#60ff0000"
    android:textStyle="bold"
    android:typeface="sans" 
    android:layout_height="wrap_content"/>

</RelativeLayout>

1 个答案:

答案 0 :(得分:0)

您应该制作一个自定义适配器来修改图库的子项。

class MyAdapter extends ArrayAdapter<E>{
        public MyAdapter(Context context, int textViewResourceId, E[] objects) {
            super(context, textViewResourceId, objects);
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            if( convertView== null ) convertView = getLayoutInflater().inflate(R.layout.your_layout, null);

            //Modify contents of your gallery here.. example:
            TextView top = (TextView)convertView.findViewById(R.id.top);
            top.getLineCount();

            return convertView;
        }
    }

按照设置普通适配器的方式在画廊中设置它:

myGallery.setAdapter(new MyAdapter(...));