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

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

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

При нажатии на элемент ListView вывести новое Activity с информацией об этом элементе - Android

07.05.2015, 18:12. Просмотров 707. Ответов 10
Метки нет (Все метки)

Здравствуйте! Помогите пожалуйста! В общем есть список ListView с названиями кафе и ресторанов, надо сделать так чтобы при нажатии на название кафе выводилось новое Activity с информацией о самом кафе

Сейчас при нажатии на название кафе ничего не происходит, хотя Activity же я указал

Вот код:


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
62
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
 
public class ActivityKafe extends ListActivity {
    String[] List = new String[] {
            "Кафе «Alligator Green»",
             "Кафе «Чайхона ресто»",
             "Кафе «Кён Бок Кун»",
             "Кафе «Furusato»",
             "Кафе «Силла»",
             "Кафе «Salon de Te»",
             "Пиццерия «New York Pizza»",
             "Кафе «Sushi Room»",
             "Кофейня «Adriano»",
             "Кафе «Центр Плова»",
             "Кафе-Бар «Одноклассники»",
             "Кафе-Бистро «Москва»",
             "Кафе «Dream Bar»",
             "Кафе «Сере»",
             "Кафе «Деревяшка»",
             "Кафе «Арзу Lounge»",
             "Кафе «Манты Бар»",
             "Кафе-Бар «Navigator»",
             "Кафе «Фаиза»",
             "Кафе «Дияр»",
             "Кафе «Ландау»",
             "Кофейня Coffee",
    }; 
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.kafe);
        
        
        
        setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, List));
    }
    
    public void onListItemClick(AdapterView<?> arg0, View arg1, int position, long id) {
        
        
        
        switch (Integer.parseInt(arg0.getTag().toString())) {
            case 0:
                Intent intent = new Intent(this, ActivityKafe1.class);
                startActivity(intent);
            break;
            case 1:
                Intent intent2 = new Intent(this, ActivityClub.class);
                startActivity(intent2);
            break;
              
        
        }
      }
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.05.2015, 18:12     При нажатии на элемент ListView вывести новое Activity с информацией об этом элементе
Посмотрите здесь:

Android Как при нажатии на пункт ListView перейти на другую форму
Вызвать из ListView новое Activity (где задействован SimpleAdapter) Android
Android Новое Activity или ViewGroup
Android Обновление данных Activity при нажатии на кнопку
Android Не открывается новое окно у которого класс наследуется не от Activity
При нажатии на пункт меню открыть новое активити Android
Переход на новое activity с элемента listView, заполненного через SimpleCursorAdapter Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dajver
 Аватар для dajver
406 / 270 / 18
Регистрация: 18.09.2010
Сообщений: 1,106
07.05.2015, 23:06     При нажатии на элемент ListView вывести новое Activity с информацией об этом элементе #2
А что в ActivityKafe1 и ActivityClub ?Вам же надо какие то параметры передать что бы там отобразилось нужное инфо...
azamatik_27
0 / 0 / 0
Регистрация: 07.05.2015
Сообщений: 6
08.05.2015, 07:59  [ТС]     При нажатии на элемент ListView вывести новое Activity с информацией об этом элементе #3
это пустые активити.. простите, а можно поподробнее какие параметры?
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,069
08.05.2015, 08:33     При нажатии на элемент ListView вывести новое Activity с информацией об этом элементе #4
Сперва надо разобраться - выполняется ли код в switch?
Integer.parseInt(arg0.getTag().toString()) чему равно, и равно ли 0 или 1? И если есть getTag, то где setTag?
Ставьте в код Log.d, тогда 90% вопросов отпадет.
Чтобы отобразить данные о кафе, нужно определить какое кафе выбрано - List[position] и передать параметр в интенте.
Паблито
резкий
1958 / 1693 / 525
Регистрация: 12.05.2014
Сообщений: 6,038
Завершенные тесты: 1
08.05.2015, 08:33     При нажатии на элемент ListView вывести новое Activity с информацией об этом элементе #5
public void onListItemClick(AdapterView<?> arg0, View arg1, int position, long id) {
тут не хватает @Override, разьве нет?

switch (Integer.parseInt(arg0.getTag().toString()))
зачем так делать ? в метод передается параметр int position это и есть позиция итема вв листе

начини с того что бы перед switch выводило что-то в консоль - так будет понятно вообще попадает ли в этот метод
azamatik_27
0 / 0 / 0
Регистрация: 07.05.2015
Сообщений: 6
08.05.2015, 09:01  [ТС]     При нажатии на элемент ListView вывести новое Activity с информацией об этом элементе #6
можете полностью правильный код скинуть, а то что то я не понял
Паблито
резкий
1958 / 1693 / 525
Регистрация: 12.05.2014
Сообщений: 6,038
Завершенные тесты: 1
08.05.2015, 09:05     При нажатии на элемент ListView вывести новое Activity с информацией об этом элементе #7
Не срабатывает событие OnListItemClick
azamatik_27
0 / 0 / 0
Регистрация: 07.05.2015
Сообщений: 6
08.05.2015, 09:33  [ТС]     При нажатии на элемент ListView вывести новое Activity с информацией об этом элементе #8
Я сделал так, а толку ноль



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
62
63
64
65
66
67
68
69
70
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
 
public class ActivityKafe extends ListActivity implements AdapterView.OnItemClickListener {
 
    String[] List = new String[] {
            "Кафе «Alligator Green»",
             "Кафе «Чайхона ресто»",
             "Кафе «Кён Бок Кун»",
             "Кафе «Furusato»",
             "Кафе «Силла»",
             "Кафе «Salon de Te»",
             "Пиццерия «New York Pizza»",
             "Кафе «Sushi Room»",
             "Кофейня «Adriano»",
             "Кафе «Центр Плова»",
             "Кафе-Бар «Одноклассники»",
             "Кафе-Бистро «Москва»",
             "Кафе «Dream Bar»",
             "Кафе «Сере»",
             "Кафе «Деревяшка»",
             "Кафе «Арзу Lounge»",
             "Кафе «Манты Бар»",
             "Кафе-Бар «Navigator»",
             "Кафе «Фаиза»",
             "Кафе «Дияр»",
             "Кафе «Ландау»",
             "Кофейня Coffee",
    };
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.kafe);
        
        
        
        setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, List));
    }
    
    
        
        
        
        
        
      
 
    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
        // TODO Auto-generated method stub
        
        switch (Integer.parseInt(arg1.getTag().toString())) {
        case 0:
            Intent intent = new Intent(this, ActivityKino.class);
            startActivity(intent);
        break;
        case 1:
            Intent intent2 = new Intent(this, ActivityClub.class);
            startActivity(intent2);
        break;
        
    }
    }
 }
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,069
08.05.2015, 09:56     При нажатии на элемент ListView вывести новое Activity с информацией об этом элементе #9
Я выше писал, Integer.parseInt(arg1.getTag().toString()) чему равно? Как об стенку горохом.

Добавлено через 4 минуты
Java
1
2
3
4
5
6
    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        super.onListItemClick(l, v, position, id);
        Toast.makeText(getApplicationContext(),
                "Вы выбрали " + l.getItemAtPosition(position).toString(), Toast.LENGTH_SHORT).show();
    }
azamatik_27
0 / 0 / 0
Регистрация: 07.05.2015
Сообщений: 6
08.05.2015, 10:25  [ТС]     При нажатии на элемент ListView вывести новое Activity с информацией об этом элементе #10
а чему оно может быть равно? похоже я нуб
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.05.2015, 09:17     При нажатии на элемент ListView вывести новое Activity с информацией об этом элементе
Еще ссылки по теме:

Android Как вместо названия Activity подставить элемент ListView?
Ошибка при переходе на новое Activity Android
Settings Activity - При нажатии клавиши "Назад" не происходит возвращение на главный активити Android
Android Вытащить информацию из SQLite на новое Activity
Передать данные при клике на listview в другое activity Android

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

Или воспользуйтесь поиском по форуму:
azamatik_27
0 / 0 / 0
Регистрация: 07.05.2015
Сообщений: 6
12.05.2015, 09:17  [ТС]     При нажатии на элемент ListView вывести новое Activity с информацией об этом элементе #11
Я извиняюсь никто не сможет написать правильный код? Я много вар-тов перепробовал, ничего не выходит. Буду чрезмерно благодарен
Yandex
Объявления
12.05.2015, 09:17     При нажатии на элемент ListView вывести новое Activity с информацией об этом элементе
Ответ Создать тему
Опции темы

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