0

В моем фрагменте у меня есть listview, и когда я нажму, откроется другое действие, которое соответствует элементу списка. Но на самом деле это не работает, и когда я нажимаю, ничего не происходит.onListItemClick прослушиватель не работает

@SuppressLint("NewApi") 
    protected void onListItemClick(ListView l, View v, int positionItem, long id) { 

     Sensor sensor = sensorAdapter.getItem(positionItem).getSensor(); 
     String sensorName = sensor.getName(); 
     Intent i = new Intent(getActivity(), SensorMonitor.class); 
     startActivity(i); 
     i.putExtra("sensorname",sensorName); 
     startActivity(i); 
    } 

Любая помощь? LogCat ничего не говорят, если вы хотите спросить меня .. я могу нажать, но ничего не происходит .. Я также добавил в TextView из ListView:

android:focusableInTouchMode="false" 
    android:clickable="false" 
    android:focusable="false" 

Но ничего

EDIT:

Это обычай TextView в ListView:

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/text1" 
    android:layout_width="match_parent" 
    android:layout_height="fill_parent" 
    android:layout_margin="10dp" 
    android:fontFamily="sans-serif-light" 
    android:gravity="center_vertical" 
    android:padding="10dp" /> 

И это фрагмент XML, в котором есть ListView:

<?xml version="1.0" encoding="utf-8"?> 

     <LinearLayout 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      xmlns:tools="http://schemas.android.com/tools" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:orientation="vertical" > 

      <!-- Included header.xml here --> 
    <TableLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:paddingBottom="@dimen/activity_vertical_margin"  
     android:paddingTop="@dimen/activity_vertical_margin" 
     > 
      <TextView 
      android:id="@+id/titolodevicefragment" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:gravity="center" 
      android:textColor="#DB3232" 
      android:textSize="18dp" 
      android:fontFamily="sans-serif-condensed" 
      android:text="@string/titolosensorsfragment" /> 

      <ListView 
       android:id="@+id/listView1" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" /> 
     </TableLayout> 
     </LinearLayout> 
+0

андроида: focusableInTouchMode = «ложь» андроида: интерактивный = «ложный» андроида: фокусируемый = «ложь» сделать все верно .. – Avijit

+0

Теперь я не могу щелкните на элементе. –

+0

Вместо getActivity() использовать getApplicationContext() в намерении – Avijit

ответ

2

пытаются реализовать listview.setonItemClickListener. Он должен определенно work.Otherwise кажется никакой проблемы,

list.setOnItemClickListener(new OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView&lt;?&gt; parent, View view, 
       int position, long id) { 

     } 
    }); 
    } 
+0

на 'onCreate'? –

+0

да. Подробнее см. Http://www.androidhive.info/2012/02/android-custom-listview-with-image-and-text/ Надеюсь, это поможет. :) –

+0

Не работает !!! Может быть, я что-то нехорошо .. –

0

Почему вы устанавливаете эти значения в false? :

android:focusableInTouchMode="false" 
android:clickable="false" 
android:focusable="false" 

Вы должны установить их истинный вместо

+0

В любом случае не работает!Если я установил их в true, я не могу нажимать на элементы. Теперь кажется текстовым, а не списком, потому что я не могу щелкнуть элемент подписи в списке. –

+0

Вы уверены, что не можете нажать по предмету? Если вы не устанавливаете текущее состояние на фоне своих ячеек, они не будут реагировать на ваши клики – Freego

0

Я всегда читал, чтобы использовать адаптер и соответствующий прослушиватель адаптера. Это от 2010 IO, так может быть, это не самый последний, но я узнал мой ListView here и он прекрасно работает

+0

так? Извините, я не понимаю –

+0

Я научился делать ListView с адаптером, а затем использовать 'onItemClick()' Видео: [ссылка] (http://www.youtube.com/watch?v=wDBM6wVEO70) – Poutrathor

+0

Итак, что вы предлагаете? Можете ли вы мне помочь, потому что я не могу найти выход. –

0

Удалить эти атрибуты:

android:focusableInTouchMode="false" 
android:clickable="false" 
android:focusable="false" 

Добавить этот атрибут в корневой макете:

андроида : descendantFocusability = "blocksDescendants"

Edit:

Вставить в корень LinearLayout

<?xml version="1.0" encoding="utf-8"?> 

      <LinearLayout 
       xmlns:android="http://schemas.android.com/apk/res/android" 
       xmlns:tools="http://schemas.android.com/tools" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:orientation="vertical" 
android:descendantFocusability="blocksDescendants" > 

       <!-- Included header.xml here --> 
     <TableLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:paddingBottom="@dimen/activity_vertical_margin"  
      android:paddingTop="@dimen/activity_vertical_margin" 
      > 
       <TextView 
       android:id="@+id/titolodevicefragment" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:gravity="center" 
       android:textColor="#DB3232" 
       android:textSize="18dp" 
       android:fontFamily="sans-serif-condensed" 
       android:text="@string/titolosensorsfragment" /> 

       <ListView 
        android:id="@+id/listView1" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" /> 
      </TableLayout> 
      </LinearLayout> 
+0

'android: descendantFocusability =" blocksDescendants "' в пользовательском текстовом представлении вместо остальных или в другом макете? –

+0

укажите код xml, и я расскажу вам, где его вставить –

+0

давайте посмотрим мое редактирование .. Я уже удаляю остальные –