0

在我的片段中,我有一個列表視圖,當我點擊會打開另一個活動,對應列表中的項目..但實際上不工作,當我點擊什麼都沒有發生。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中還增加了:

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

但沒有

編輯:

這是列表視圖的自定義的TextView:

<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片段,其中有列表視圖:

<?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。應該definitly work.Otherwise似乎沒有問題

list.setOnItemClickListener(new OnItemClickListener() { 

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

     } 
    }); 
    } 
+0

? –

+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,我不能點擊這些項目..現在看起來像是一個textview,而不是一個列表視圖,因爲我無法點擊列表中的標誌項。 –

+0

您確定無法點擊在一個項目上?如果您沒有爲單元格的背景設置可繪製狀態,那麼它們似乎不會響應您的點擊 – Freego

0

我一直閱讀使用適配器和相關的適配器偵聽器。這是自2010年IO雖然這也許不是最新的,但我學我的ListView here和它的偉大工程

+0

?對不起,我不明白 –

+0

我學習使用適配器做ListView,然後使用'onItemClick()'Video:[link](http://www.youtube.com/watch?v=wDBM6wVEO70) – Poutrathor

+0

那麼你的建議是什麼?你能幫助我,因爲我找不到出路...... –

0

刪除這些屬性:

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

這個屬性添加到您的根佈局:

機器人:descendantFocusability = 「blocksDescendants」

編輯:

插入根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」'在自定義textview而不是其他人或在另一個佈局? –

+0

給出的XML代碼,我會告訴你在哪裏插入 –

+0

讓我們看看我的編輯..我已經刪除了其他人 –