2014-05-23 4 views
1

탐색 창 내부에 gridview를 구현하려고합니다. gridview 완벽하게 보이고있다; gridview 항목을 터치해도 초점이 표시됩니다. 그러나 클릭이 감지되지 않습니다. 제발 도와주세요 ... 탐색 서랍에 문제가 있습니까 ??? 탐색에서 그리드보기가 작동하지 않는다는 것을 의미합니까?GridView onClickListener가 작동하지 않습니다.

<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

예 이제 작동 감사합니다 .... –

0

청취자간에 오해가있을 수 있습니다. 귀하의 xml에서 onClick 청취자를 참조하는 android:clickable="true"이 있고 런타임에 GridView에 2 개의 onItemClick 청취자가 선언되어 있습니다.

이 속성을 제거해야합니다 :

android:clickable="true" 

는 또한이 줄을 제거 :

gridview.setOnItemClickListener(this); 

이 마지막이 필요하지 않습니다 당신이 그냥 오른쪽 하나를 선언하기 때문이다. 그렇다면, dup은 필요하지 않습니다. 사용할 때 이해하기

this 매개 변수로, 당신이해야 할 활동의 구현 전화 :

public class A extends Activity implement OnItemClickListener { } 

을하지만, 직접의 GridView에 아닌 활동 안에이 클릭 리스너를 선언하는 경우, 이것은 쓸모가 없다.

+0

지금 작동 중 ... 감사합니다. –

관련 문제