mercredi 15 novembre 2017

Unable to add and remove listview items when checkbox is checked (trying to make a favorites list)

I have a listview with a checkbox next to each item. What I am trying to accomplish is add or remove items in the listview when I check the checkbox next to them- either add them to the existing list or add them to a new list. Basically, I am trying to implement favorites to my listview. Whatever I try to use, I get error messages, or it simply does not do anything.

Adapter Class:

public class Adapter extends BaseAdapter {

    String[] items;
    LayoutInflater inflater;
   ArrayList selectedItems;
    Activity activity;
    Adapter(Activity activity, String[] items){

        this.items=items;
        inflater=activity.getLayoutInflater();
        selectedItems = new ArrayList<String>();
        this.activity=activity;
    }

        @Override
        public int getCount() {
            return items.length;
        }

        @Override
        public String getItem(int i) {
            return items[i];
        }

        @Override
        public long getItemId(int i) {
            return i;
        }

        @Override
        public View getView(final int i, View view, ViewGroup viewGroup) {

            View v = view;
            if(v == null){
                v = inflater.inflate(R.layout.checkboxlayout,null);
            }




            final TextView textview_languages=(TextView)v.findViewById(R.id.Textview_languages);
        textview_colors.setText(items[i]);

        final CheckedTextView  checkedTextView=(CheckedTextView)v.findViewById(R.id.checkbox);
        checkedTextView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                if (!checkedTextView.isChecked()){
                    checkedTextView.setChecked(true);
                    selectedItems.add(items[i]);


                }
                else {
                    checkedTextView.setChecked(false);
                    selectedItems.remove(items[i]);

                }





            }
        });



        return v;





    }


}

Java Class:

public class MainActivity extends AppCompatActivity {

ArrayList<String> selectedItems;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    selectedItems = new ArrayList<String>();
    ListView chl = (ListView) findViewById(R.id.colorselector);
    chl.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
    String[] items = {"Blue", "Green", "Yellow", "purple", "white", "black"};
    Adapter adapter=new Adapter(this,items);
    chl.setAdapter(adapter);

    chl.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {

            int item_position=i;{}




Aucun commentaire:

Enregistrer un commentaire