Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
SAVA93
1 / 1 / 1
Регистрация: 24.12.2011
Сообщений: 86
#1

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

23.08.2013, 19:19. Просмотров 774. Ответов 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 чтобы она высвечивалась только если лист дошел до конца?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.08.2013, 19:19
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как заставить ListView показывать ограниченное количество элементов? (Программирование Android):

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

Как зафиксировать ширину элементов ListView
Подскажите как отредактировать разметку элемента ListView. На данный момент...

Как заставить chartspace показывать данные нормально?
у меня такая интересная проблемка, которую не могу понять: chartspace...

Как заставить консоль Rails2 показывать sql-запросы?
Вот поведение rails4: $ rails c Loading development environment (Rails 4.2.4)...

Как заставить Builder 6 показывать результат выполнения программы?
У меня C++ Builder 6. Написал простую программу, например &quot;Hello, Word!&quot;,...

Как заставить гугл показывать те рубрики, которые мне нужны?
Здравствуйте. Я знаю, что нужно сайт на рубрики поделить и каждой рубрике...

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

Добавлено через 2 часа 54 минуты
эмм сори присмотрелся внимательно понял как ограничивает вот только не знаю как забить лист своими элементами если он забивает их, что то вроде в цикле. как можно забивать такой лист динамически?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.08.2013, 22:58
Привет! Вот еще темы с решениями:

Как заставить показывать полное имя в ОС если не в домене или как-то брать инфу из управления сетевыми паролями?
Есть код: Private Declare Function GetUserNameEx Lib 'Secur32.Dll' Alias...

Как вывести запрос ограниченное количество записей
например как вывести в запросе &quot;4&quot; первые 3 палия выложите пример...

Как выводить ограниченное количество данных по страницам?
Добрый вечер, как разбить доп. 10 тем на 2 страницы??? &lt;?php ...

Как создать неопределенное (т.е. не ограниченное в коде) количество экземпляров класса?
Если кратко, опишу задачу так. Есть баланс предприятия - &quot;срез&quot; показателей,...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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