0

Im Programmieren einer App und ich erstellte ein Einblendmenü mit einem ListView.Einträge in ListView reagieren nicht

Die Elemente sind jedoch nicht anklickbar. Nachdem Sie auf eines der Elemente geklickt haben, wird das Einblendmenü geschlossen und nichts passiert, obwohl es etwas anstoßen sollte.

Hier ist mein Code:

statsdrawerLayout = (DrawerLayout)findViewById(R.id.statsdrawerlayout); 
    statslist = (ListView)findViewById(R.id.statslist); 

    statslist.setOnItemClickListener(this); 

    ArrayList<String> graphArray = new ArrayList<String>(); 

    graphArray.add("Feuchtigkeit"); 
    graphArray.add("Sonneneinstrahlung"); 
    graphArray.add("Windeschwindigkeit"); 
    graphArray.add("Außen-Temperatur"); 
    graphArray.add("Alle Graphen zurücksetzen"); 

    statslist.setChoiceMode(ListView.CHOICE_MODE_SINGLE); 

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_activated_1, graphArray); 
    statslist.setAdapter(adapter); 

    statslist.setChoiceMode(ListView.CHOICE_MODE_SINGLE); 
    statslist.setFocusable(false); 
    statslist.setFocusableInTouchMode(false); 

    statsdrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED); 

    actionBarDrawerToggle = new ActionBarDrawerToggle(this,statsdrawerLayout, R.string.openstats,R.string.closestats); 
    statsdrawerLayout.addDrawerListener(actionBarDrawerToggle); 
    ActionBar actionBar = getSupportActionBar(); 
    actionBar.setDisplayShowHomeEnabled(true); 
    actionBar.setDisplayHomeAsUpEnabled(true); 

Unter meinen onCreate ich meine onItemClick gelegt:

@Override 
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
    switch(position){ 
     case 0: 

      Toast.makeText(StatistikAllGraphs.this, "Clicked", Toast.LENGTH_SHORT).show(); 
     break; 

    } 
} 

Es gibt 4 weitere Fälle, aber es ist viel zu viel Code, um es hier zu platzieren.

Hier ist der wichtige Teil aus meiner Layout-Datei:

?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.DrawerLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/statsdrawerlayout"> 


    <FrameLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/fragmentholder"> 
    </FrameLayout> 

    <ListView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/statslist" 
     android:layout_gravity="start" 
     android:clickable="true" 
     android:background="@color/Orange"> 
    </ListView> 
</android.support.v4.widget.DrawerLayout> 

Vielen Dank im Voraus.

Xaver Seiringer

+0

Versuchen Sie mit if-Anweisungen und auch in Ihrem onItemClick log den Wert der Position –

+0

Sie haben 'statslist.setFocusable (false);' und 'statslist.setFocusableInTouchMode (false);'. Kannst du versuchen, sie wahr zu machen? – jaibatrik

+0

Hat wie gesagt, aber hat nicht funktioniert. –

Antwort

0

haben Sie die listview.onitemclicklistener gesetzt (dies) in Ihrem oncreate und haben Sie den listview.onitemclicklistener umgesetzt? und versuche, Pause zu machen; in der Kiste nach dem Toast blockieren.

+0

Ich habe AdapterView.OnItemClickListener verwendet und setOnItemClickListener vergessen. Ich habe meinen Code bearbeitet, funktioniert aber immer noch nicht. –

+0

versuchen, die Listview anklickbar auf die Xml-Datei Ahaha und Ihre Pause machen die k klein –

+0

Hat nicht funktioniert, weiß nicht mehr, was ich tun soll. Ich antwortete tatsächlich 3 Tage, aber es wurde irgendwie gelöscht –