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

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

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

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

07.05.2015, 18:12. Просмотров 816. Ответов 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 с информацией об этом элементе
Посмотрите здесь:
Вызвать из ListView новое Activity (где задействован SimpleAdapter) Android
Переход на новое activity с элемента listView, заполненного через SimpleCursorAdapter Android
Android Открыть активити при нажатии на элемент Listview
Ошибка при переходе на новое Activity Android
Android Как вместо названия Activity подставить элемент ListView?
Передать данные при клике на listview в другое activity Android
Android Обновление данных Activity при нажатии на кнопку
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dajver
407 / 271 / 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,070
08.05.2015, 08:33     При нажатии на элемент ListView вывести новое Activity с информацией об этом элементе #4
Сперва надо разобраться - выполняется ли код в switch?
Integer.parseInt(arg0.getTag().toString()) чему равно, и равно ли 0 или 1? И если есть getTag, то где setTag?
Ставьте в код Log.d, тогда 90% вопросов отпадет.
Чтобы отобразить данные о кафе, нужно определить какое кафе выбрано - List[position] и передать параметр в интенте.
Pablito
2419 / 1864 / 583
Регистрация: 12.05.2014
Сообщений: 6,604
Завершенные тесты: 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
можете полностью правильный код скинуть, а то что то я не понял
Pablito
2419 / 1864 / 583
Регистрация: 12.05.2014
Сообщений: 6,604
Завершенные тесты: 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,070
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
Android Новое Activity или ViewGroup
Android Вытащить информацию из SQLite на новое Activity
Android ListView: сбивается содержимое ImageView элемента при скроллинге + как сделать выделение пункта списка при нажатии?
Android Не открывается новое окно у которого класс наследуется не от Activity

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

Или воспользуйтесь поиском по форуму:
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 с информацией об этом элементе
Ответ Создать тему
Опции темы

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