ListView,SimpleAdapter

Интерфейс, диалоги, темы, стили, меню
Ответить
lamberto
Сообщения: 66
Зарегистрирован: 29 мар 2015, 23:38

ListView,SimpleAdapter

Сообщение lamberto » 29 мар 2015, 23:49

Здравствуйте!
Народ кто как знает подскажите, целый день голову ломаю как сделать список в котором два первых элемента списка были без checkbox, а вторые с ним.
В данном решении я просто использую simpleAdapter и свой layout где есть checkbox'ы, думаю что можно как то отобразить всем элементам списка, а потом как то конкретно задать параметр setVisibility(View.GONE).???
Подскажите решение пожалуйста!!!

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: ListView,SimpleAdapter

Сообщение doter.ua » 30 мар 2015, 00:12

MyAdapter extends ArrayAdapter<MyClassContainer>
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

lamberto
Сообщения: 66
Зарегистрирован: 29 мар 2015, 23:38

Re: ListView,SimpleAdapter

Сообщение lamberto » 30 мар 2015, 00:18

Если я правильно понимаю из ответа мне предложено создать свой адаптер ?

Аватара пользователя
alexmx
Сообщения: 193
Зарегистрирован: 10 мар 2014, 08:14

Re: ListView,SimpleAdapter

Сообщение alexmx » 30 мар 2015, 20:51

lamberto писал(а):Если я правильно понимаю из ответа мне предложено создать свой адаптер ?
Да, абсолютно верно

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: ListView,SimpleAdapter

Сообщение Mikhail_dev » 30 мар 2015, 20:53

Я порой понимаю что мне хватает и SimpleAdapter, но черт возьми, так неудобно им пользоваться, поэтому я создаю всегда собственный адаптер.

lamberto
Сообщения: 66
Зарегистрирован: 29 мар 2015, 23:38

Re: ListView,SimpleAdapter

Сообщение lamberto » 30 мар 2015, 22:23

Конечно же я так и поступил, но сделал самым порнографическим методом т.к. времени на раздумие не много, но все же вопрос остался для обсуждения!?

class MySimpleArrayAdapter extends ArrayAdapter<String> {
private final Context context;
private final String[] values;

public MySimpleArrayAdapter(Context context, String[] values) {
super(context, R.layout.itemslid, values);
this.context = context;
this.values = values;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.itemslid, parent, false);
TextView tvText = (TextView) rowView.findViewById(R.id.tvText);
TextView tvText2 = (TextView) rowView.findViewById(R.id.tvText2);
LinearLayout lnr = (LinearLayout) rowView.findViewById(R.id.backliner);
CheckBox cbChecked = (CheckBox) rowView.findViewById(R.id.cbChecked);


String s = values[position];
if (s.startsWith("ID1") ) {
tvText.setText("Заголовок1");
tvText2.setText("Название1");
cbChecked.setVisibility(View.GONE);
lnr.setBackgroundResource(R.color.Green);
}
else if (s.startsWith("ID2")) {
tvText.setText("Заголовок2:");
tvText2.setText("Название2");
cbChecked.setVisibility(View.GONE);
lnr.setBackgroundResource(R.color.Green);
}

else if (s.startsWith("ID3")) {
tvText.setText("Заголовок3");
tvText2.setText("Название3");
cbChecked.setVisibility(View.VISIBLE);

}


else if (s.startsWith("ID4")){
tvText.setText("Заголовок4");
tvText2.setText("Название4");
cbChecked.setVisibility(View.VISIBLE);

}

return rowView;
}


}
String[] names = {"ID1", "ID2", "ID3", "ID4"};

// создаем адаптер

MySimpleArrayAdapter sAdapter = new MySimpleArrayAdapter(getActivity(), names);

setListAdapter(sAdapter);
}

Хочу сразу сказать РАБОТАЕТ.


Да и вдогонку вопрос для умных дядек ну может и женщин? Как в данной реализации списка осуществить поиск check-нутых элементов списка "множественный выбор" ???

Просто мне кажется, что нужно определить новый метод внутри класса MySimpleArrayAdapter, который и будет заниматься поиском?

Ответить