Android custom listview 
<p>I'm trying to create custom listview in andorid.</p>

<p>When I try to access my arraylist variale <code>historyArrayList</code> in <code>HistoryAdapter</code> -> <code>getView</code>, <code>historyArrayList</code> always return me last added element arraylist.</p>

<pre><code>public class HistoryDetails extends Activity {

    List&lt;HistoryInfoClass&gt; historyArrayList = new ArrayList&lt;HistoryInfoClass&gt;() ;   
    DBAdapter db = new DBAdapter(this);



     private class HistoryAdapter extends BaseAdapter {
         private LayoutInflater mInflater;

         public HistoryAdapter(Context context) {


             mInflater = LayoutInflater.from(context);

         }

         public int getCount() {

             return historyArrayList.size();

         }

         public Object getItem(int position) {

             return position;
         }

         public long getItemId(int position) {

             return position;
         }

         public View getView(int position, View convertView, ViewGroup parent) {

         ViewHolder holder;

         if (convertView == null) {
             convertView = mInflater.inflate(R.layout.history_listview, null);
             holder = new ViewHolder();
             holder.text = (TextView) convertView.findViewById(R.id.TextView01);
             holder.text2 = (TextView) convertView.findViewById(R.id.TextView02);
             convertView.setTag(holder);

         } else {
             holder = (ViewHolder) convertView.getTag();
         }
      //PROBLEM HERE " historyArrayList.get(position).Time " always give me last element in historyArrayList, and historyArrayList.get(0).Time give me last element too, and get(1) 
         holder.text.setText(Integer.toString( historyArrayList.get(position).Time ));
         holder.text2.setText(Integer.toString( historyArrayList.get(position).Time1 ));

         return convertView;

         }

         private class ViewHolder {
         TextView text;
         TextView text2;


         }
     }


    @Override
    protected void onCreate(Bundle savedInstanceState) {

        setContentView(R.layout.historydetails);
        super.onCreate(savedInstanceState);



        HistoryFromDBToArray();


         ListView l1 = (ListView) findViewById(R.id.ListView01);
         l1.setAdapter(new HistoryAdapter(this));

         l1.setOnItemClickListener(new OnItemClickListener(){

            @Override
            public void onItemClick(AdapterView&lt;?&gt; arg0, View arg1, int arg2,
                    long arg3) {

                Toast.makeText(getBaseContext(), "You clciked ", Toast.LENGTH_LONG).show();

                }

            });

         }


     class HistoryInfoClass {

         Integer Time = 0,
                 Time1 = 0;


        }


    private void HistoryFromDBToArray(){


        HistoryInfoClass History = new HistoryInfoClass();      
        historyArrayList.clear();


        db.open();  
        int i =0;
        Cursor c = db.getHistory("history");
        startManagingCursor(c);
        if (c.moveToFirst())
        {
            do {          

                History.Time = c.getInt(1);
                History.Time1 = c.getInt(2);


                historyArrayList.add(History);
// Here "historyArrayList.get(i).Time" return true value (no last record)
i++;
            } while (c.moveToNext());
        }



        db.close();




    }



    }
</code></pre>
