2013-10-10 27 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

ya。所有的項目正確顯示 – Sridhar

+0

然後你在這裏面臨什麼問題,因爲我看到這裏都很好。 – Ranjit

回答

16

這可能是因爲在你的GridView的一些項目是偷焦點。嘗試將這些屬性添加到網格中的任何元素:

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

這是我需要的答案。還有一個疑問。我有自定義gridview中的複選框如何獲取在其中檢查的元素? – Sridhar

+0

我不明白。你需要確定網格中的複選框是否被選中? –

+0

通過您的視圖初始化複選框,並通過checkbox.oncheckedchangelistener檢查wheather isCheckedor .. – Ranjit

相關問題