title: How to get ListView to display correctly after onClickListener is clicked?
body: <p><strong>UPDATE:</strong>
  I've decided to use the ExpandableListAdapter to accomplish this ...as this code is almost effectively an attempt to engineer what expandable listadapter already does.</p>
  
  <hr>
  
  <p>I'm using the standard pattern of ViewHolder in order to make ListView simply work...
  <code><pre>
  public View getView(int position, View convertView, ViewGroup parent) {
    View vi=convertView;
    ViewHolder holder;
    if( convertView == null ){
              vi = inflater.inflate(R.layout.item, null);
              holder=new ViewHolder();
              holder.text=(TextView)vi.findViewById(R.id.text);
              holder.image=(ImageView)vi.findViewById(R.id.image);
              holder.expandButton=(ImageView)vi.findViewById(R.id.expand_button);
              vi.setTag(holder);
          }
          else
              holder=(ViewHolder)vi.getTag();
  </code></pre></p>
  
  <p>However....I believe that inside of my onClickListener...something is going wrong.</p>
  
  <p><code><pre>
   final String textData = texts[position];
   final ViewHolder holderFinal = holder;
   holder.expandButton.setVisibility(View.VISIBLE);
   holder.expandButton.setOnClickListener(new View.OnClickListener() 
     @Override
     public void onClick(View v) {
       holderFinal.expandButton.setImageResource(R.drawable.expander_ic_maximized);
       holderFinal.text.setText(textData);
  </code></pre></p>
  
  <p>So, everything displays fine when scrolling back and forth....however, whenever one of the listitems is expanded, the final line above contains a textData that belongs to another row. How do I get the correct textData to work INSIDE the onCLick listener?</p>