I have a list activity with listviewitem layout. The listviewitem contains a textview, the porblem is that if the string in the textview is too long - e.g. 3 lines, then the listviewitem height does not change to wrap the content. I am using adapter for the listview.
The problem happens only when inserting new items using the adapter!!!!!! Here are the layout and the adapter: public class RecipeInstructionsListViewAdapter extends ArrayAdapter<Instruction> { private Context mContext; private ArrayList<Instruction> mItems; private LayoutInflater mInflater; public RecipeInstructionsListViewAdapter(Context context, int textViewResourceId,ArrayList<Instruction> items) { super(context,textViewResourceId,items); mContext=context; mItems=items; mInflater=(LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); } @Override public View getView(int position,View convertView,ViewGroup parent) { ViewHolder holder = new ViewHolder(); if(convertView == null) { convertView =mInflater.inflate(R.layout.recipes_instruction_list_single_view_entry, null); } if( super.getItem(position) != null ) { holder.instructionIndex = (TextView) convertView.findViewById( R.id.listUp_RecipeInstructionNumberTextBoxId ); holder.instructionText = (TextView) convertView.findViewById( R.id.listUp_RecipeInstructioTextTextBoxId ); holder.instructionImage = (ImageView)convertView.findViewById( R.id.listUp_RecipeInstructionImageViewId ); Typeface tf = Typeface.createFromAsset(mContext.getAssets(), "Eras_Bold.ttf"); holder.instructionIndex.setTypeface(tf); holder.instructionIndex.setTextSize(30); holder.instructionIndex.setTextColor( GlobalDefs.GetHeadlineColor() ); holder.instructionIndex.setText( Integer.toString(mItems.get(position).getIndex() ) ); tf = Typeface.createFromAsset(mContext.getAssets(), "Arial.ttf"); holder.instructionText.setTypeface(tf); holder.instructionText.setTextSize(14); holder.instructionText.setTextColor( Color.BLACK ); holder.instructionText.setText( mItems.get(position).getText() ); String imageLocation = mItems.get(position).GetInstructionImageLocation(); if( imageLocation != null ) { holder.instructionImage.setImageURI( Uri.parse( imageLocation ) ); holder.instructionImage.setVisibility( View.VISIBLE ); } else { holder.instructionImage.setVisibility( View.GONE ); } convertView.setTag(holder); convertView.setLayoutParams( new ListView.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); } else { } return convertView; } @Override public boolean isEnabled(int position) { return true; } static class ViewHolder { TextView instructionIndex; TextView instructionText; ImageView instructionImage; } } xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/list_up" > <TextView android:id="@+id/listUp_RecipeInstructionNumberTextBoxId" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:textSize="30dip" /> <ImageView android:layout_height="19dp" android:layout_width="19dp" android:id="@+id/listUp_RecipeInstructionImageViewId" android:layout_alignParentTop="true" android:layout_alignParentRight="true" android:layout_marginRight="19dp" /> <TextView android:id="@+id/listUp_RecipeInstructioTextTextBoxId" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_toRightOf="@+id/ listUp_RecipeInstructionNumberTextBoxId" android:layout_marginLeft="15dp" android:textSize="14dip" /> </LinearLayout> -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en