как удалить отмеченные элементы / определенные элементы из списка массивов / просмотр списка - PullRequest
2 голосов
/ 04 марта 2012

У меня есть этот код, я использую, чтобы передать список массивов на другую страницу и показать его в виде списка. Когда появится список, я хочу иметь возможность проверить элемент и удалить его при «нажатии кнопки», что приведет к изменению массива.

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.oppout);

    final ListView lv2 = (ListView) findViewById (R.id.custom_list_view);
    lv2.setClickable(true);
    lv2.setAdapter(new ArrayAdapter<String>(Oppout.this, 
                                            android.R.layout.simple_list_item_checked,
                                            Entername.playerList));

    lv2.setOnItemClickListener (
        new AdapterView.OnItemClickListener() {
            public void onItemClick(AdapterView adapterView,
                                    View view,int arg2, long arg3) {
                int selectedPosition = adapterView.getSelectedItemPosition();                                 
                Toast.makeText(getBaseContext(), "mu"+ selectedPosition,  
                           Toast.LENGTH_SHORT).show();                               
            }
    });


    Button next = (Button) findViewById(R.id.button1);
    next.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            // on click call the adapterview and delete string at selected position.
            // This is my problem, am not getting how to call the adapter and deleted
            // the selected item/position
            int selectedPosition = adapterView.getSelectedItemPosition();
            adapterView.remove(player.SelectedPosition);

            Intent myIntent = new Intent (view.getContext(), Callacab.class);
            startActivityForResult(myIntent, 0);
        }
    });
}}

1 Ответ

0 голосов
/ 24 октября 2012

contacts.remove (индекс); // массив, который вы передали адаптеру

arrayadapter.remove (индекс); // это ваш адаптер, который вы передаете в список arrayadapter.notifyDataSetChanged ();

// вы можете удалить из своего массива или вашего адаптера, а затем notifyDataSetChanged (); чтобы эффект произошел в вашем просмотре списка .... лучше удалить его из arraylist, и его индексами будет arg2 в слушателе элемента просмотра списка

...