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
Versuchen Sie mit if-Anweisungen und auch in Ihrem onItemClick log den Wert der Position –
Sie haben 'statslist.setFocusable (false);' und 'statslist.setFocusableInTouchMode (false);'. Kannst du versuchen, sie wahr zu machen? – jaibatrik
Hat wie gesagt, aber hat nicht funktioniert. –