2017-02-16 6 views
-1

Was ist falsch mit meinem Code? Es ist mein listView auf Fragment, um die Datenbank anzuzeigen. Es ist erfolgreich, Datenbank anzuzeigen, aber nichts geschieht, wenn ich klicke.ListView in Fragment passiert nichts beim Klicken

+0

jede Nachricht ('EventId') im Protokoll ?? –

+0

Log.d ("Ereignis-ID", gid + "." + Gname); nach ItemClick gedruckt? – user2025187

+0

Sie haben eine benutzerdefinierte Ansicht als Listenansicht? Wenn ja, dann können Sie dieses Problem beheben. Veröffentlichen Sie Ihren benutzerdefinierten Ansichtscode, und ich könnte Ihnen einen Workaround geben –

Antwort

0

Vielen Dank für Ihre Aufmerksamkeit Waheed, aber ich nicht Lösung mit dem finden. Jetzt verschiebt meine Lösung "setOnItemClickListener" zu "onStart()". Und es ist Arbeit

@Override 
public void onStart() { 
    super.onStart(); 
    getListView().setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> av, View v, int pos, 
           long id) { 
      String gname = ((TextView) v.findViewById(R.id.event)).getText() 
        .toString(); 

      String gid = ((TextView) v.findViewById(R.id.noId)).getText() 
        .toString(); 
      Log.d("EventId", gid +". "+ gname); 

      Integer i = Integer.parseInt(gid); 
      Intent intent = new Intent(getActivity(), NewPostActivity.class); 
      intent.putExtra("idEvent",i); 
      startActivity(intent); 

     } 
    }); 
} 
0

Wenn ein Zeilenelement der Liste eine fokussierbare oder anklickbare Ansicht enthält, funktioniert OnItemClickListener nicht.

Das Zeilenelement muss einen param wie Android haben: demcendantFocusability = "blocksDescendants".

hier können Sie Beispiel sehen, wie Ihr Listenelement aussehen sollte. Ihre Liste Artikel xml sollte ... row_item.xml (your_xml_file.xml)

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:baselineAligned="false" 
android:descendantFocusability="blocksDescendants" 
android:gravity="center_vertical" > 

// your other widgets here 

</LinearLayout>