2012-06-04 2 views
0

Почему Listview повторяет последнюю запись в обратном клике ?????? В первый раз, когда этот класс запущен с ListView, все данные, которые он показывает, верны, теперь я нажимаю на один из списка Пункт и снова отмените описание, затем Повторите последнюю запись.Повторная запись последнего элемента ListView назад

например.

ListItems являются: A -> B -> C

Теперь нажмите на B и перейти на следующую страницу, и от этого я нажимаю на спине, то список:

A -> B -> C -> C

и еще раз, когда я нажимаю и от этого описания страниц, когда я нажимаю назад, то список:

A -> B -> C -> C -> C

почему он повторяет последнюю запись ????

Деятельность код класса выглядит следующим образом:

  if(list.isEmpty()) 
          { 
           if(adapter==null) 
           { 
             adapter=new MyAdapter(context, list); 
             ls.setAdapter(adapter); 
           } 
           adapter.notifyDataSetChanged(); 
          } 

    @Override 
protected void onStop() { 
    super.onStop(); 
    AppointmentListView.setVisibility(View.GONE); 
} 

@Override 
protected void onRestart() { 
    super.onRestart(); 
    AppointmentListView.setVisibility(View.VISIBLE); 
} 

и MyAdapter класс:

public class MyAdapter extends BaseAdapter{ 

     public ArrayList<HashMap<String,String>> list; 
     Context context; 
     private LayoutInflater mInflater; 
     String appointType; 


     public MyAdapter(Context context, ArrayList<HashMap<String,String>> list) 
     { 
      super(); 
       this.context=context; 
      this.list = list; 
      mInflater = LayoutInflater.from(context); 

     } 

     @Override 
     public int getCount() { 
      // TODO Auto-generated method stub 
      return list.size(); 
     } 
     @Override 
     public int getViewTypeCount() 
     { 
      return 1; 

     } 



     @Override 
     public Object getItem(int position) { 
      // TODO Auto-generated method stub 
      return list.get(position); 
     } 

     @Override 
     public long getItemId(int position) { 
      // TODO Auto-generated method stub 
      return position; 
     } 

     static class ViewHolder { 
      TextView AppTime_List; 
      TextView CustomerName_List; 
      TextView CustomerAddress_List; 
      TextView AppID_List; 
      Button MapButton; 
      } 


    // @Override 
     public View getView(int position, View convertView, ViewGroup parent) { 
      // TODO Auto-generated method stub 

      ViewHolder holder; 

      if (convertView == null) 
      { 
       holder = new ViewHolder(); 
      convertView = mInflater.inflate(R.layout.listviewsample, parent, false); 

      holder.AppTime_List = (TextView) convertView.findViewById(R.id.time); 
      holder.CustomerName_List = (TextView) convertView.findViewById(R.id.name); 
      holder.CustomerAddress_List = (TextView) convertView.findViewById(R.id.Address); 
       convertView.setTag(holder); 

      } 
      else 
      { 
      holder = (ViewHolder) convertView.getTag(); 

      } 

      appointType=(String)list.get(position).get("Name"); 

      holder.AppID_List.setText((String)list.get(position).get("ID")); 
      holder.AppTime_List.setText((String)list.get(position).get("Time")); 
      holder.CustomerName_List.setText((String)list.get(position).get("Name")); 
      holder.CustomerAddress_List.setText((String)list.get(position).get("Address")); 



      return convertView; 

     } 


    } 

Может кто-нибудь пожалуйста помочь мне на что ??

+0

вы можете предоставить код активности, а также ........ –

+0

Пожалуйста, проверьте мой обновленный вопрос – Kanika

+0

Можете ли вы предоставить часть вашего кода где вы заполняете свой список элементами? –

ответ

0

здесь проблема с методом myAdapter getCount. Теперь в моем классе MyAdapter, я объявляю list_size на вершине:

int list_size; 

    public MyAdapter(Context context, ArrayList<HashMap<String,String>> list) 
{ 
    super(); 
     this.context=context; 
    this.list = list; 
    mInflater = LayoutInflater.from(context); 
    list_size=list.size(); 

} 

    @Override 
public int getCount() { 
    // TODO Auto-generated method stub 
    return list_size(); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^