2015-07-26 3 views
-2

Checkbox auto call onCheckedChange when listview scroll?Флажок изменить его значение, когда я прокрутить список

GOT решение в этой связи, но я до сих пор trouble..I есть вкладка хоста в мое приложение так, как только я переключить его к нему, и, когда я вернусь к список проблема все еще превалирует автоматически мой 1-й, а также последние элементы будут проверены ... Помогите мне .. Спасибо заранее

public class FoodAdapter extends ArrayAdapter { 
    private List<Food> list= new ArrayList<Food>() ; 
    private Context context; 
    public FoodAdapter(Context context, int resource) { 
     super(context, resource); 
     this.context = context; 
    } 

    static class ListHolder 
    { 
     TextView FOOD_NAME; 
     CheckBox CHECK; 

    } 

    public void addToList(List<Food> list) 
    { 
     this.list = list; 
    } 

    public int getCount() 
    { 
     return this.list.size(); 

    } 

    public Object getItem(int position) 
    { 
     return this.list.get(position); 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     View list = convertView; 
     final ListHolder listHolder; 
     if(convertView == null) { 
      LayoutInflater inflater = (LayoutInflater) this.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      list = inflater.inflate(R.layout.custom_list, parent, false); 
      listHolder = new ListHolder(); 
      listHolder.FOOD_NAME = (TextView) list.findViewById(R.id.textView); 
      listHolder.CHECK = (CheckBox) list.findViewById(R.id.checkBox); 
      list.setTag(listHolder); 

     } 
     else { 
      listHolder = (ListHolder) list.getTag(); 
     } 
     final Food food = (Food) getItem(position); 
     listHolder.FOOD_NAME.setText(food.getFood_name()); 
     listHolder.CHECK.setOnCheckedChangeListener(null); 
     listHolder.CHECK.setChecked(food.isSeleted()); 
     listHolder.CHECK.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 
      @Override 
      public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
       if(isChecked){ 
        listHolder.CHECK.setChecked(true); 
        food.setSeleted(true); 

       } else { 
        listHolder.CHECK.setChecked(false); 
        food.setSeleted(true); 
       } 
      } 
     }); 


     return list; 
    } 
} 
+0

Проверить этот http://stackoverflow.com/questions/18162931/get-selected-item-using-checkbox-in-listview если это помогает – Raghunandan

+0

Используете ли вы фрагменты TabHost? –

ответ