私はリストビューを持っています。私のポイントは、そのビューで要素の1つを選択した後、その要素のすぐ下にメニューバーを表示したいということです。私がやろうとしているのは、アプリ Any.Do のようなものです。
ここに私がやろうとしていることの写真があります。
どうすればできますか?むしろ GreenDroid を使用しないでください。
配列を埋めるには、次のコードを使用します。
TaskBoard.class
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>
編集:
クリックした位置を見つける方法を見つけました。問題は、その相対的な位置です。つまり、配列の 2 番目の項目をクリックすると、7 項目ごとにメニューバーが 2 番目の位置に表示されます (ページを埋める項目の数)。この位置は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);
これが問題の理解に役立つことを願っています