2012-05-09 3 views
0

OK Я был в сети, пытаясь понять это и собирать фрагменты кода здесь и там. Я до сих пор не понимаю. Все, что я хочу, состоит в том, чтобы отобразить три элемента списка, и по щелчку элемента он перейдет к новому действию. Что мне нужно исправить?Android - Listview на клик активирует новое намерение

Edit:

Я сделал глупую ошибку. Исправлено сейчас - спасибо всем!

+2

если вы получаете ошибку, то сообщение logcat stacktrace –

+1

Я смущен вашим списком. он содержит месяцы года, но вы ищете термины «Basic», «Professional» и т. д. – Woodsy

ответ

1

Я собираюсь предположить, что вы должны заменить это:

String item = (String) getListAdapter().getItem(position); 

с этим:

String item = view.getText().toString(); 

getListAdapter() является функцией для ListActivity, но не регулярная активность.

0

Вы уверены, что у вас есть новые классы активности в манифесте android? Вам нужно добавить каждое действие, которое вы собираетесь запустить в манифест.

Проверьте свой манифест.xml и объявите о действиях, и вам должно быть хорошо идти. Также измените способ получения информации из прослушивателя так, чтобы вы getString из элемента вместо использования позиции. Таким образом, вы можете точно контролировать то, что передано вашему намерению, указав текстовое представление на элементе.

0

Вы никогда не установите onItemClickListener в ListView:

myList.setOnItemClickListener(this); 
+0

в своем случае ** это ** правильно относится. – waqaslam

+1

Да. Я заметил свою ошибку и навсегда полон стыда. – mrketchup

+1

hahaha расслабьтесь, успокойтесь :) – waqaslam

0

Сэм и Эль Duderino оба имеют действительные точки, но так же, как забавный момент тем не менее:

Вы проверять, если детали «Экономика», «Базовый», «Профессионал» и т. д., но ваш массив строк имеет только месяцы года ...: P

Кроме того, при настройке намерений вы не должны использовать this, потому что вы находятся в onClick, то есть this является onClickListener, а не Activity. Поэтому используйте atcList.this вместо this.

Смежные вопросы