Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
SAVA93
1 / 1 / 0
Регистрация: 24.12.2011
Сообщений: 86
#1

Как заставить ListView показывать ограниченное количество элементов? - Программирование Android

23.08.2013, 19:19. Просмотров 716. Ответов 2
Метки нет (Все метки)

Будет динамично заполняющийся лист

Как сделать чтобы ListView показывал ограниченное кол-во items, а при нажатии на кнопку more подгружать еще часть ???

+ еще как поставить кнопку more, так чтобы высвечивалась, только, когда доходит до конца списка?

код заполнения листа
Кликните здесь для просмотра всего текста

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public class NotificationTabFragment2 extends ListFragment {
ArrayList<Item> items = new ArrayList<Item>();
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
       
        items.add(new SectionItem("Category 1"));
        items.add(new EntryItem("You received a mail from Adviser", "This is item 1.1", R.drawable.email));
        items.add(new EntryItem("Upcommnig class Programming 1", "This is item 1.2", R.drawable.schedule));
        items.add(new EntryItem("You received a mail from Kim Viacheslav", "This is item 1.3",R.drawable.email));
        items.add(new EntryItem("You receiced a chat message from Timur Kartaev", "This is item 1.1", R.drawable.chat));
       
        items.add(new SectionItem("Category 2"));
        items.add(new EntryItem("Item 4", "This is item 2.1", R.drawable.ic_launcher));
 
        EntryAdapter adapter = new EntryAdapter(getActivity(), items);
        
        setListAdapter(adapter);
    }
    
    public void onListItemClick(ListView l, View v, int position, long id) {
        
        if(!items.get(position).isSection()){
            
            EntryItem item = (EntryItem)items.get(position);
            Toast.makeText(getActivity(), item.title, Toast.LENGTH_SHORT).show();
        }
        
        super.onListItemClick(l, v, position, id);
    }
}


код entry adapter
Кликните здесь для просмотра всего текста

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
public class EntryAdapter extends ArrayAdapter<Item> {
 
    @SuppressWarnings("unused")
    private Context context;
    private ArrayList<Item> items;
    private LayoutInflater vi;
 
    public EntryAdapter(Context context,ArrayList<Item> items) {
        super(context,0, items);
        this.context = context;
        this.items = items;
        vi = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }
 
 
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View v = convertView;
 
        final Item i = items.get(position);
        if (i != null) {
            if(i.isSection()){
                SectionItem si = (SectionItem)i;
                v = vi.inflate(R.layout.list_item_section, null);
 
                v.setOnClickListener(null);
                v.setOnLongClickListener(null);
                v.setLongClickable(false);
                
                final TextView sectionView = (TextView) v.findViewById(R.id.list_item_section_text);
                sectionView.setText(si.getTitle());
            }else{
                EntryItem ei = (EntryItem)i;
                v = vi.inflate(R.layout.list_item_entry, null);
                final TextView title = (TextView)v.findViewById(R.id.list_item_entry_title);
                final TextView subtitle = (TextView)v.findViewById(R.id.list_item_entry_summary);
                final ImageView ico = (ImageView) v.findViewById(R.id.list_item_entry_drawable);
                if (title != null) 
                    title.setText(ei.title);
                if(subtitle != null)
                    subtitle.setText(ei.subtitle);
                if(ico != null)
                    ico.setImageResource(ei.icon);
            }
        }
        return v;
    }
 
}


Добавлено через 6 минут
и еще вопрос как расположить кнопку в xml чтобы она высвечивалась только если лист дошел до конца?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.08.2013, 19:19     Как заставить ListView показывать ограниченное количество элементов?
Посмотрите здесь:

Не могу заставить OnItemClickListener, ловить нажатие на элемент списка ListView - Программирование Android
Пишу простенькое приложение по сбору цен на разные товары, сейчас пытаюсь оптимизировать часть кода который работает со списком, когда...

Как зафиксировать ширину элементов ListView - Программирование Android
Подскажите как отредактировать разметку элемента ListView. На данный момент есть следующее - checkBox, TextView и ImageView. &lt;?xml...

ListView, ToggleButton, SQLite, CursorAdapter. Как найти idItem в ListView, где была нажата ToggleButton? - Программирование Android
Добрый день. Затрудняюсь понять один момент: У меня есть ListView, который заполнен Items. Каждый Item - это свой XML. Пока...

Большое количество итемов в listView! - Программирование Android
При выводе большого количества итемов в listView, используя адаптор, столкнулся с проблемой переполнения памяти. Загуглив, нашел некоторые...

Получить количество строк в TextView (ListView) - Программирование Android
привет всем. уже очень давно никак не могу получить количество строк в TextView который находится в ListView. каждый итем - TextView. ...

Как при повороте экрана показывать видео дальше, а не сначала - Программирование Android
В общем, когда поворачивается экран видео воспроизводится сначала. Как я понял, при повороте view элементы с id сохраняются, хотя если...

Узнать количество строк ListView, которое помещается в Linear Layout - Программирование Android
Подскажите плз. Как узнать какое целое кол-во строк listView может поместиться в Linear Layout. Если у мну такая разметка. ...

Добавление элементов в listview из БД - Программирование Android
Здравствуйте. У меня не выходит выбросить из списка одинаковые элементы. Я из БД вытаскиваю номера групп, которые соответственно...

Просмотр элементов в ListView - Программирование Android
нужно что бы при нажатии на элемент открывалось отдельное окно с более детальной информацией данного элемента

Прорисовка элементов в ListView - Программирование Android
Доброго дня. Необходимо сделать свой список с своим View, нашёл статью и сделал как в ней. Но поведение CheckBox'ов оказалось поломанное....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Wenceslaus
Android Developer
130 / 130 / 4
Регистрация: 05.07.2013
Сообщений: 205
23.08.2013, 19:35     Как заставить ListView показывать ограниченное количество элементов? #2
listView с подзагрузкой
SAVA93
1 / 1 / 0
Регистрация: 24.12.2011
Сообщений: 86
23.08.2013, 22:58  [ТС]     Как заставить ListView показывать ограниченное количество элементов? #3
Wenceslaus, спасибо я это читал но я таки не нашел метода или команды как он отображает ограниченное кол-во элементов на экране.. может я не увидел не могли бы вы если вам не трудно конечно подсказать как он это делает

Добавлено через 2 часа 54 минуты
эмм сори присмотрелся внимательно понял как ограничивает вот только не знаю как забить лист своими элементами если он забивает их, что то вроде в цикле. как можно забивать такой лист динамически?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru