Как установить разные списки выбора - PullRequest
0 голосов
/ 06 декабря 2011
mainListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View item,
                    int position, long id) {

        if(position == 0)
            mainListView.setSelector(R.drawable.settings_selector_up);
        else if(position == mainListView.getCount())
            mainListView.setSelector(R.drawable.settings_selector_down);
        else
            mainListView.setSelector(R.drawable.settings_selector_mid);
            }
                });

У меня есть просмотр списка, мой просмотр списка имеет закругленный угол. Я использую 3 селектора для просмотра списка. Поэтому, когда я выбираю в первом элементе listView, должен работать settings_selector_up, который имеет закругленный угол только в верхнем и верхнем углу. В середине списка нет закругленных углов, последний элемент списка должен иметь нижний левый угол и правый нижний угол. Я использую это в onitemClickListener, но это не очень хороший момент. Есть ли другой способ сделать это?

Ответы [ 2 ]

1 голос
/ 06 декабря 2011

Ну, это кажется довольно быстрой проблемой, но на самом деле это не так. Вы должны изменить свой адаптер и сделать так, чтобы он принимал 3 различных типа элементов (вверх, вниз, в середине), а затем изменить getView примерно так:

...
if (convertView == null) {
   convertView = getLayoutInflater().inflate(R.layout.your_layout, parent, false);

   switch (type) {
       case TYPE_ITEM_UP:
           convertView.setBackgroundResource(R.drawable.selector_up);
           break;

   case TYPE_ITEM_DOWN:
        convertView.setBackgroundResource(R.drawable.selector_down);
        break;
       ...
    }
}
...

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

0 голосов
/ 06 декабря 2011

если вы используете какой-либо адаптер, то в методе getview для возврата к просмотру вы можете установить селектор

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