我正在尝试在导航抽屉中实现gridview。 gridview完美呈现;即使我触摸gridview项目,它也会显示焦点。但是没有检测到点击。请帮忙… 这是导航抽屉的问题??? 我的意思是网格视图不能在导航中工作?
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<FrameLayout
android:id="@+id/drop"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_toRightOf="@+id/left_drawer" >
</FrameLayout>
<RelativeLayout
android:id="@+id/left_drawer"
android:layout_width="290dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="#373737"
android:choiceMode="singleChoice"
android:divider="#666"
android:dividerHeight="1dp"
android:paddingLeft="1dp"
android:paddingRight="1dp" >
<RelativeLayout
android:id="@+id/box1"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_weight="1" >
<ImageView
android:id="@+id/pref"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:src="@drawable/pref" />
<ImageView
android:id="@+id/temp_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:src="@drawable/temp" />
<View
android:id="@+id/sep1"
android:layout_width="4px"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginBottom="15dp"
android:layout_marginTop="15dp"
android:layout_toRightOf="@+id/temp_icon"
android:background="#3bb9ff" />
<View
android:id="@+id/sep2"
android:layout_width="4px"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginBottom="15dp"
android:layout_marginRight="3dp"
android:layout_marginTop="10dp"
android:layout_toLeftOf="@+id/pref" />
<TextView
android:id="@+id/temp_txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginLeft="10dp"
android:layout_marginTop="3dp"
android:layout_toLeftOf="@+id/sep2"
android:layout_toRightOf="@+id/sep1"
android:text="100 C"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/extra_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/temp_txt"
android:layout_alignParentBottom="true"
android:layout_alignRight="@+id/temp_txt"
android:layout_below="@+id/temp_txt"
android:text="This is extra info panel make some usefull and put here"
android:textAppearance="?android:attr/textAppearanceSmall" />
</RelativeLayout>
<View
android:id="@+id/sep4"
android:layout_width="wrap_content"
android:layout_height="1px"
android:layout_below="@+id/box1"
android:layout_marginTop="4dp"
android:background="#222222" />
<ScrollView
android:id="@+id/box2"
android:layout_width="wrap_content"
android:layout_height="70dp"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/box1"
android:layout_marginTop="10dp"
android:layout_weight="1"
android:scrollbars="horizontal" >
</ScrollView>
<View
android:id="@+id/sep5"
android:layout_width="wrap_content"
android:layout_height="1px"
android:layout_below="@+id/box2"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:background="#222222" />
<RelativeLayout
android:id="@+id/box3"
android:layout_width="wrap_content"
android:layout_height="150dp"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/sep5" >
</RelativeLayout>
<View
android:id="@+id/sep6"
android:layout_width="wrap_content"
android:layout_height="1px"
android:layout_alignParentLeft="true"
android:layout_below="@+id/box3"
android:layout_marginBottom="7dp"
android:background="#222222" />
<RelativeLayout
android:id="@+id/box3333"
android:layout_width="wrap_content"
android:layout_height="60dp"
android:layout_alignLeft="@+id/sep6"
android:layout_alignParentRight="true"
android:layout_below="@+id/box3"
android:layout_marginBottom="3dp"
android:layout_marginTop="3dp" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginBottom="2dp"
android:layout_marginTop="2dp"
android:src="@drawable/img_btn_play" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="25dp"
android:layout_toRightOf="@+id/imageView1"
android:src="@drawable/img_btn_previous" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/imageView2"
android:layout_marginRight="14dp"
android:layout_toLeftOf="@+id/imageView1"
android:src="@drawable/img_btn_previous" />
</RelativeLayout>
<View
android:id="@+id/sep9"
android:layout_width="wrap_content"
android:layout_height="1px"
android:layout_below="@+id/box3333"
android:layout_marginBottom="3dp"
android:layout_marginTop="3dp"
android:background="#222222" />
<GridView
android:id="@+id/scrollView1"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/sep9"
android:clickable="true"
android:columnWidth="50dp"
android:gravity="center"
android:horizontalSpacing="10dp"
android:numColumns="auto_fit"
android:paddingBottom="30dp"
android:stretchMode="columnWidth"
android:verticalSpacing="10dp" >
</GridView>
</RelativeLayout>
</android.support.v4.widget.DrawerLayout>
这是我的代码
GridView gridView = (GridView) contentView
.findViewById(R.id.scrollView1);
Bitmap[] ic = JsonLibrary.saved_ps_bitmap(getApplicationContext());
gridView.setAdapter(new GridAdapter(getApplicationContext(), ic));
gridView.setOnItemClickListener(this);
gridView.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> a, View v, int position, long id) {
Toast.makeText(getApplicationContext(), "hello", Toast.LENGTH_LONG)
.show();
}
});
答案 0 :(得分:0)
尝试添加作为该类的监听器。如果这对您有所帮助,请告诉我。
答案 1 :(得分:0)
这可能是听众之间的误解。在您的xml中,您有android:clickable="true"
引用onClick
侦听器,并且您在运行时在onItemClick
上声明了两个GridView
侦听器。
您应该删除此属性:
android:clickable="true"
同时删除此行:
gridview.setOnItemClickListener(this);
不需要这个,因为你在它之后声明了正确的。然后,不需要复制。
要理解,当您使用this
作为参数时,您需要调用Activity的实现:
public class A extends Activity implement OnItemClickListener { }
但是如果你直接在GridView上而不是在Activity中声明这个点击监听器,那么这是无用的。