for the billionth time i'm useing  a CUSTOM LISTVIEW it inflates the
xml and getview gets called as many times as there is items in the
array...if you put a button in the xml no matter what way you format
the XML the button gets displayed multiple times not 1 time multiple
times .....no matter how you display the XML ....here is the code
modify it and give it a try and if your way works then i'll eat dirt.

package com.cuslistview;
import java.util.ArrayList;

import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
public class customlistview extends Activity implements
OnClickListener{
        ListView l1;
         private static class EfficientAdapter extends BaseAdapter  {
        private LayoutInflater mInflater;
        private ArrayList<ArrayList<String>> ret=null;

         public EfficientAdapter(Context context) {
                  Sax sax1 = new Sax();
                  try {
                        ret =  sax1.SaxIni();
                } catch (Exception e) {

                        e.printStackTrace();
                }


                   mInflater = LayoutInflater.from(context);



                  }

                @Override
                public int getCount() {

                        return ret.size();
                }

                @Override
                public Object getItem(int position) {

                        return position;
                }

                @Override
                public long getItemId(int position) {

                        return position;
                }

                @Override
                public View getView(int position, View convertview, ViewGroup
parent)  {


                        ViewHolder holder;
                          if (convertview == null) {

                          convertview = mInflater.inflate(R.layout.main, 
parent,false);
                          holder = new ViewHolder();

                          //holder.text = (TextView)
convertview.findViewById(R.id.TextView01);

                          holder.text0 = (TextView)
convertview.findViewById(R.id.TextView0);
                          holder.text1 = (TextView)
convertview.findViewById(R.id.TextView1);
                          holder.text2 = (TextView)
convertview.findViewById(R.id.TextView2);


                          convertview.setTag(holder);

                          } else {

                          holder = (ViewHolder) convertview.getTag();

                  }



                          //holder.text.setText(ret.get(position) );
                         holder.text0.setText(ret.get(0).get(position));
                          holder.text1.setText(ret.get(1).get(position));
                          holder.text2.setText(ret.get(2).get(position));
                          //convertview.setBackgroundColor((position & 1) == 1 ?
Color.WHITE : Color.LTGRAY);
                          convertview.setBackgroundColor((position & 1) == 1 ?
Color.LTGRAY : Color.GREEN);

                          return convertview;

                          }



                          static class ViewHolder {

                          TextView text0;
              TextView text1;
              TextView text2;

                          }

                          }



                          @Override

                          public void onCreate(Bundle savedInstanceState) {
                                  Button getdata_btn;

                                  super.onCreate(savedInstanceState);

                          setContentView(R.layout.main);

                          //getdata_btn = new Button(this);
                          //getdata_btn.setWidth(5);
              //getdata_btn.setHeight(5);
                          //getdata_btn.setText("Press To Update");

              l1 = (ListView) findViewById(R.id.ListView01);
              //getdata_btn.setOnClickListener(this);


              ColorDrawable divcolor  = new
ColorDrawable(Color.RED);

              //l1.addHeaderView(getdata_btn);

                          l1.setDivider(divcolor);

                          l1.setDividerHeight(2);              
//layout1.addView(l1);


                          l1.setAdapter(new EfficientAdapter(this));

                          }



                        @Override
                        public void onClick(View v) {
                                  l1.setAdapter(new EfficientAdapter(this));

                        }







         }

-- 
You received this message because you are subscribed to the Google
Groups "Android Beginners" group.

NEW! Try asking and tagging your question on Stack Overflow at
http://stackoverflow.com/questions/tagged/android

To unsubscribe from this group, send email to
android-beginners+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-beginners?hl=en

Reply via email to