我正在努力重用单元格,目前我正在使用适配器的getview方法,我遇到一个问题,我的getview方法调用了9次,但它应该只在应用程序启动时调用5次,因为我只显示5行.
public View getView(int position, View view, ViewGroup viewgroup)
{
ViewHolder holder=null;
if(view==null)
{
view = inflater.inflate(R.layout.my_row_layout, viewgroup, false);
Log.d("Testing","View is nuLL");
holder.thumbnils = (ImageView)view.findViewById(R.id.Thumbnils);
holder.hover =(ImageButton)view.findViewById(R.id.hover);
holder.title =(TextView)view.findViewById(R.id.title);
holder.hoveroverlay =(ImageView)view.findViewById(R.id.hoveroverlay);
}view.setTag(holder);
}
else
{
Log.d("Testing","view is not null");
holder = (ViewHolder) view.getTag();
}
return view;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
if(data.size()%NumberOfCell==0)
{
//return Number rows in listview
return data.size() /NumberOfCell;
}
else
{
//If total number of videos are ODD than display one row extra for remaining videos
return data.size() /NumberOfCell+1;
}
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 1;
}
Here is my xml
Run Code Online (Sandbox Code Playgroud)
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/imageView2"
android:layout_alignLeft="@+id/linearLayout1"
android:layout_below="@+id/linearLayout1"
android:scrollbars="none"
android:divider="#000000"
android:dividerHeight="2dp"
>
</ListView>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
请帮帮我们谢谢.........
Swa*_*oid 63
使listview高度等于fill_parent并再次尝试..