我有一个列表视图。我的观点是,在该视图上选择一个元素后,我想在该元素的正下方显示一个菜单栏。我尝试做的几乎是应用程序 Any.Do 之类的东西。
这是我打算做什么的图片。
我该怎么做 ?我宁愿不使用 GreenDroid。
为了填充数组,我使用了这段代码:
任务板类
setListAdapter(new SimpleAdapter(this, array_tasks, R.layout.dash_tasks,
new String[] { "task", "project" , "date"}, new int[] { R.id.dashtask,
R.id.taskproject, R.id.final_date}));
R.layout.dash_tasks 是即时显示给用户的视图。这是一段代码,用于调用我要显示的菜单栏:
dash_tasks.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/menu_bar"
style="@style/page"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:baselineAligned="true"
android:gravity="center_vertical"
android:orientation="horizontal"
android:visibility="gone">
<include layout="@layout/menubar"></include>
</RelativeLayout>
编辑:
我想出了如何找到我点击的位置。问题是,它是一个相对位置。我的意思是,如果我单击数组上的第二个项目,菜单栏将每 7 个项目出现在第二个位置(这就是填充页面的项目数)。我猜这个位置是根据屏幕而不是 ListView..
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
View x= parent.getChildAt(position);
View a= x.findViewById(R.id.mini_menu_bar);
a.setVisibility(View.VISIBLE);
我希望这可以帮助您理解问题