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

Reply via email to