Как реализовать: Multi-выбрать в представлении списка. Выбранные элементы должны изменить цвет на красный - PullRequest
0 голосов
/ 15 мая 2019

Я создаю приложение andorid для захвата настроения пользователей. В настоящее время я настроил представление списка для отображения доступных параметров настроения на экране.

Сейчас я пытаюсь реализовать функцию, которая позволяет пользователю выбирать несколько элементов в списке, касаясь их на экране. Когда пользователь выбирает элемент, он должен быть выделен каким-либо образом, так что очевидно, что он был выбран, т.е. цвет фона меняется. В настоящее время у меня есть эта настройка, где я могу выбрать один элемент, и он меняется на красный. Однако я хочу, чтобы пользователь мог выбирать несколько элементов, и их цвет фона должен измениться на красный, прежде чем пользователь выберет следующую кнопку для продолжения.

 @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_workout_distorted_thoughts);

    listView = findViewById(R.id.distortedListViewWorkout);
    MyAdapter adapter = new MyAdapter(this, mTitle, images);
    listView.setAdapter(adapter);
    button = findViewById(R.id.nextBtn);
    button.setOnClickListener(new View.OnClickListener() {

        /**
         * @param v
         */
        @Override
        public void onClick(View v) {

            Intent intent = new Intent(WorkoutDistortedThoughtsActivity.this, WorkoutChallengeActivity.class);
            startActivity(intent);
            finish();
        }
    });

    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

            if (position >=0 ) {
                view.setSelected(true);

            }
        }
    });
}

     class MyAdapter extends ArrayAdapter<String> {

        Context context;
        String rTitle[];
        int rImages[];

        MyAdapter (Context c, String title[], int images[]){
            super(c, R.layout.row, R.id.titleEtWorkout, title);
            this.context = c;
            this.rTitle = title;
            this.rImages = images;

        }

1 Ответ

0 голосов
/ 15 мая 2019
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...