Я создаю приложение 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;
}