Форум программистов, компьютерный форум, киберфорум
Наши страницы

выделение элемента в ListView - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Как сменить первый активити? http://www.cyberforum.ru/android-dev/thread979626.html
У меня стало 2 активити в приложении. Так получилось, что теперь активити, изначально первое, должно быть вторым. Нигде в Эклипсе не нашел, где указать главный активити? Пробовал в Манифесте...
Программирование Android Как послать сообщение с приложения в Whatsapp О, великие умы, помогите :help: Как послать с приложения сообщение с картинкой + текст к конкретному пользователю в Whatsapp? :wall: http://www.cyberforum.ru/android-dev/thread979522.html
margin глюки? Программирование Android
<LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:layout_gravity="top" ...
Программирование Android Создание движущегося объекта (open gl)
Недавно начал писать живые обои. Нужно создать несколько падающих звезд, каждая из которых рандомно исчезает в точке. Скажите, пожалуйста, как заставить их "падать", а затем снова вернуть на исходную...
Программирование Android Получение сохранённых строковых данных http://www.cyberforum.ru/android-dev/thread979408.html
Как из сохранённых EditText элементов вытянуть строки в другом классе. Вот код. Нужно отсюда: package ru.project.testinfomats; import android.app.Activity; import...
Программирование Android Ищу сотоварища для разработки не слишком сложного приложения Добрый вечер. На полном энтузиазме, для себя любимой, хочу сделать приложение. Вроде бы неплохо получается, неплохо получается, НО с БД наиогромнейшие проблемы. Подумав, что нехорошо тратить... подробнее

Показать сообщение отдельно
Ametistos
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 37

выделение элемента в ListView - Программирование Android

17.10.2013, 10:16. Просмотров 3346. Ответов 4
Метки (Все метки)

Подскажите, что я делаю не так? У меня в кастомном диалоге создается и заполняется список, при его отображении необходимо чтоб по умолчанию был выделен первый элемент. код ниже:

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
50
51
52
53
54
55
56
57
58
59
60
61
private void creatDialog() {
        final ArrayAdapter<AccountItem> adapter;
        LinearLayout contentView;
        Button closeBtn;
        ListView lv;
        contentView = new LinearLayout(context);
 
        View.inflate(context, R.layout.accounts_dialog_layout, contentView);
        closeBtn = (Button) contentView.findViewById(R.id.close);
        closeBtn.setOnClickListener(new OnClickListener() {
 
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                accountsDialog.cancel();
            }
 
        });
 
        adapter = new ArrayAdapter<AccountItem>(context, R.layout.account_item) {
            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                View v = getItem(position).getView();
                
                return v;
            }
        };
        lv = (ListView) contentView.findViewById(R.id.accounts_list);
        lv.setAdapter(adapter);
 
        
 
        final Enumeration<?> enumeration = ((AbstractActivity)context)
                .getService().getApi().getAccounts().getEnumeration();
        while (enumeration.hasMoreElements()) {
            Account a = (Account) enumeration.nextElement();
            synchronized (a) {
                adapter.add(new AccountItem(context, a));
            }
        }
        
        adapter.notifyDataSetChanged();
        
        lv.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                ((AbstractActivity)context).getService().
                setCurrentAccount(adapter.getItem(position).getAccount());
                updateBalance();
                accountsDialog.cancel();
            }
 
        });
        
        lv.setSelection(0);//Выделяю первый элемент
        
 
        accountsDialog = new AccountsDialog(context, R.style.CustomDialog);
 
        accountsDialog.setContentView(contentView);
    }
вот мой класс AccountItem

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
private class AccountItem {
        LinearLayout _view;
        TextView accountId;
        TextView balance;
        Account _account;
 
        public AccountItem(Context context, Account account) {
            _account = account;
            _view = new LinearLayout(context);
 
            View.inflate(context, R.layout.account_item, _view);
            _view.setBackgroundColor(getResources().getColor(android.R.color.transparent));
            
            accountId = (TextView) _view.findViewById(R.id.account_id);
            accountId.setText(account.getID());
            balance = (TextView) _view.findViewById(R.id.account_balance);
            balance.setText(GuiUtils.numberToMoney(account.getBalance(), 2));
        }
 
        public View getView() {
            if(_account.getID().compareTo(((AbstractActivity) context)
                    .getService().getCurrentAccount().getID()) == 0) _view.setSelected(true);
            return _view;
        }
        
        public Account getAccount() {
            return _account;
        }
    }
при нажатии на элементы списка они выделяются замечательно. но при открытии первый элемент не выделен почемуто.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru