【发布时间】:2016-04-08 16:48:18
【问题描述】:
我正在编写一个应用程序,并创建了一个包含 ListView 的滑入式菜单。
但这些项目不可点击。单击其中一项后,滑入式菜单关闭并且没有任何反应,尽管它应该烤一些东西。
这是我的代码:
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);
在我的 onCreate 下方,我放置了我的 onItemClick:
@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;
}
}
还有其他 4 种情况,但是这里的代码太多了。
这是我的布局文件中的重要部分:
?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>
提前致谢。
泽维尔·赛林格
【问题讨论】:
-
尝试使用 if 语句并在 onItemClick 日志中记录 position 的值
-
你有
statslist.setFocusable(false);和statslist.setFocusableInTouchMode(false);。你能试着把它们变成真的吗? -
照你说的做了,但没用。
标签: android listview android-arrayadapter onitemclicklistener onitemclick