2014-01-13 2 views
0

У меня есть Activity, содержащий основной Listview. Функциональность работает следующим образом:Android: Запуск нового действия onListViewItem нажмите

щелкните элемент списка -> получите имя элемента списка -> передайте имя с намерением и начните новое действие.

Все работает, за исключением начала нового действия. Его просто не реагируют, и я не понимаю, почему. Я бы по-настоящему оценил дополнительную пару глаз, чтобы посмотреть на это.

listView = getListView(); 
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, foodNames); 
listView.setAdapter(adapter); 

listView.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
    public void onItemSelected(AdapterView parentView, View childView, int position, long id) { 

     TextView tv = (TextView) listView.getSelectedItem(); 
     String value = tv.getText().toString(); 

     Log.v("DEBUG","Name of item clicked" + value); 

     Intent intent = new Intent(childView.getContext(), FoodItemActivity.class); 
     intent.putExtra("FoodName", value); 
     startActivity(intent); 

    } 

    public void onNothingSelected(AdapterView parentView) { 
    } 
}); 

ответ

8

Я думаю, что вы линию

startActivity(intent); 

:-)

+0

благодарит Bertak, Ive добавил эту строку, но он все равно не звонит. Не вносите ничего внутри onItemSelected. .. – BodhiByte

+0

Хм, вы пытались использовать OnItemClickListener (setOnItemClickListener) вместо OnItemSelectedListener? –

+0

Ive пробовал этот подход, но не мог заставить его функционировать! – BodhiByte

0

отсутствует попробовать это так:

listView.setOnItemClickListener(new OnItemClickListener() { 
    public void onItemClick(AdapterView<?> parent, View view, 
     int position, long id) { 
     Intent intent = new Intent(view.getContext(), FoodItemActivity.class); 
     intent.putExtra("FoodName", value); 
     startActivity(intent); 
    } 
}); 

это будет решать ваш вопрос, и если все-таки возникает проблема , затем подтвердите, что все дочерние элементы управления - focusable=false и clickable=false.

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