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

Получить id вместо position в OnItemClickListener - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Custom AlertDialog http://www.cyberforum.ru/android-dev/thread1122633.html
Помогите люди добрые, что то никак не нагуглю... А желательно кодом;)
Android Первая игра - каково ваше мнение о ней? Ну вот и написал свою первую игру. Тема вопроса не касается напрямую программирования, а больше носит эстетический характер, но все же считаю не менее важен в программировании игр. Хотелось бы услышать ваши комментарии по поводу улучшения созданной игры, подгонки ее под коммерческие стандарты, вобщем то, что сделает игру более привлекательной конечному пользователю. Добавлено через 37 минут... http://www.cyberforum.ru/android-dev/thread1122328.html
Обрезка фотографии одновременно для обычного и landscape режимов Android
Как обрезать полученную фотографию это я могу, а вот что бы обрезать одновременно для двух режимов, есть что то стандартное или писать надо самому? Например при установке обоев такой режим есть. Не могу сформулировать вопрос для stackowerflow. Заранее спасибо.
Android AVD - no target selected
При создании эмулятора с версией android > 4.0 получаю ошибку: no target selected. До 4.0, а также версии 4.4.2, благополучно создается. Разумеется гуглил, решение - установить ARM EABI v7a System Image. Разумеется установил, разумеется Eclipse перезапустил. Изменений никаких. Сталкивался кто?
Android FTP. Ошибка Access denied http://www.cyberforum.ru/android-dev/thread1122042.html
Доброго времени суток. Работаю в RAD Studio XE5. Там есть возможность разработки приложений под Android на Delphi. Пишу FTP-сервер. Есть IdFTPServer и Button. Пишу следующее: procedure TForm1.Button1Click(Sender: TObject); begin Server.DefaultPort := 21; Server.DefaultDataPort := 21; Server.Active := true;
Android Не могу запустить AWD Manager Установил eclipse Indigo последний, скачал SDK для Android, поставил плагин, прописал пути, создал первое приложение. Заполняю поля в AWD manager что бы создать виртуальный девайс, все заполнено, кнопка OK активна, но при нажатии на нее ничего не происходит.... В чем может быть дело? подробнее

Показать сообщение отдельно
Ibir
1 / 1 / 0
Регистрация: 18.03.2014
Сообщений: 5

Получить id вместо position в OnItemClickListener - Android

19.03.2014, 03:37. Просмотров 975. Ответов 6
Метки (Все метки)

Здравствуйте. Хотел для себя создать справочник, для чего в сети нашел пример, который я немного дополнил и в принципе он рабочий:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
listView.setOnItemClickListener(new OnItemClickListener() 
        {
            public void onItemClick(AdapterView<?> a, View v, int position, long id) 
            {
               [B] String itemname = new Integer(position).toString();[/B] <= this
 
                Intent intent = new Intent();
                intent.setClass(Spisok.this, Prob.class);
 
                Bundle b = new Bundle(); 
                b.putString("posit", itemname);  
                intent.putExtras(b);
                startActivity(intent);
             }
        });
принимает:
Java
1
2
3
4
5
Bundle bundle = getIntent().getExtras();
        String itemname = "n" + bundle.getString("posit");
 
        Context context = getBaseContext();
        String text = readRawTextFile(context, getResources().getIdentifier(itemname, "raw", "ru.ibir.irrveb"));
На выходе я получаю значения типа: n0, n1 и т.д. это по позиции элемента.
А в моём примере я применяю фильтр к списку, получается что элементов в списке становится меньше и они не соответствуют значениям n0, n1 и т.д.
пример:
Java
1
2
3
4
5
текст1 -> n0
текст2 -> n1
текст3 -> n2
[B]А при использования фильтра:[/B]
текст3 -> n0
Поэтому, наверное, мне необходимо брать не position а id.
Посоветовали заменить строчку на:
Java
1
String itemname = String.valueOf(v.getId());
Тогда приложение вылетает с ошибкой. а на выходе получаются значения одного типа: n-1
Помогите решить проблему.

Добавлено через 13 часов 36 минут
Я исправит чуть так:
Java
1
2
3
4
5
6
7
8
9
10
11
listView.setOnItemClickListener(new OnItemClickListener() 
        {
            public void onItemClick(AdapterView<?> parent, View view,  int position, long id) 
            {
 
                 Intent intent = new Intent(Spisok.this, Prob.class);
                 intent.putExtra("id", Long.toString(id));
                 startActivity(intent);
 
             }
        });
и
Java
1
2
3
4
5
Intent intent = getIntent();
        
        String lName = intent.getStringExtra("id");
 
        String itemname = ("n" + lName); //получаем строку и формируем имя ресурса
Работает, однако всё равно тот же результат (
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 20:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru