2013-10-10 3 views
0

여기에 내 코드가 있습니다. gridview setOnClickListener에서 응답이 없습니다. 도와주세요.setonitemclicklistener가 gridview에서 작동하지 않습니다.

setContentView(R.layout.myfav); 
gView = (GridView) findViewById(R.id.grid); 
PackageManager pm = this.getPackageManager(); 
    context = MyFav.this; 
    Intent intent = new Intent(Intent.ACTION_MAIN, null); 
    intent.addCategory(Intent.CATEGORY_LAUNCHER); 
    list = pm.queryIntentActivities(intent, PackageManager.GET_META_DATA); 
    gView.setAdapter(new MyAdapter()); 
    // save.setOnClickListener(this); 
    // cancel.setOnClickListener(this); 
    gView.setOnItemClickListener(new OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, 
       long arg3) { 
      // TODO Auto-generated method stub 
      Log.e("inside click", "" + arg2); 
      Toast.makeText(getApplicationContext(), "Hello" + arg2, 
        Toast.LENGTH_SHORT).show(); 
     } 
    }); 

이 내 그리드 뷰

<GridView 
    android:id="@+id/grid" 
    android:layout_width="match_parent" 
    android:layout_height="400dp" 
    android:layout_centerHorizontal="true" 
    android:numColumns="3" 
    android:stretchMode="columnWidth" > 
</GridView> 
+1

어댑터를 추가 한 후 완벽하게 표시되는 gridview입니까 ?? – Ranjit

+0

예. 모든 항목이 올바르게 표시되고 있습니다. – Sridhar

+0

여기 내가 직면 한 문제는 모든 것이 좋다고 본 것입니다. – Ranjit

답변

16

그것은 당신의 GridView의 일부 항목에 초점을 훔치는 것을 할 수있다. 그리드 내부에있는 모든 요소에 다음 속성을 추가하십시오.

android:focusable="false" 
android:focusableInTouchMode="false" 
+0

이것은 내가 필요한 대답이었다. 한 가지 의심. 사용자 지정 gridview에서 확인란을 선택하면 요소를 가져올 수 있습니까? – Sridhar

+0

이해가 안됩니다. 그리드의 확인란을 선택했는지 확인해야합니까? –

+0

보기를 통해 확인란을 초기화하고 checkbox.oncheckedchangelistener를 통하지 않고 wheather isCheckedor를 확인하십시오. – Ranjit

관련 문제