2011-04-25 47 views
1

我一直在敲我的頭靠在牆上任何人都可以有工作代碼幫助:Android Gridview教程 - 可用的示例代碼?

http://developer.android.com/resources/tutorials/views/hello-gridview.html

我每次代碼IT- Eclipse中給了我深不可測錯誤的負載(尤其是初學者),但即使當我複製並粘貼代碼時,它仍然不適用於android 2.2 sdk。任何幫助將受到歡迎!

其次還提到一些複製樣本圖像到下RES被拉伸的文件夾,但也有可拉伸-HDPI,LDPI和MDPI文件夾 - 其中一個我應該複製圖像轉換成(或全部→3)

在此先感謝

+2

很多時候,它是不夠用「複製 - 粘貼代碼」,但你應該明白你在做什麼,以及它如何適合你的環境中。我建議你在這裏粘貼LogCat的例外,這樣我們就可以看到如何幫助你。 – 2011-04-25 19:00:01

回答

4

請參閱我的評論,您的問題相關的Android教程。關於圖像,您應該將它們複製到全部3或創建一個名爲drawable的新目錄。讓我用更多的細節來解釋它。

每個設備的密度都像HDPI,LDPI和MDPI(平板電腦有更多)。 Android的想法是通過轉到這些文件夾來使用最適合您設備的圖像。如果找不到圖像,它將在名爲drawable的「通用」文件夾中查找它。所以,如果您現在只是測試自己的邏輯並且不在乎外觀,只需創建「drawable」文件夾並將圖像放在那裏即可。

4

下面是一個使用工作示例網格視圖:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    GridView gridView = (GridView) findViewById(R.id.gridview); 
    gridView.setAdapter(new ImageAdapter(this)); 

    gridView.setOnItemClickListener(new GridView.OnItemClickListener() 
    { 
     public void onItemClick(AdapterView parent, View v, int position, long id) 
     {     
      //Insert what to do when you click on an image. 
     } 
    });   
} 

public class ImageAdapter extends BaseAdapter 
{ 
    private Context context; 

    public ImageAdapter(Context c) 
    { 
     context = c; 
    } 

    //---returns the number of images--- 
    public int getCount() { 
     return imageIDs.length; 
    } 

    //---returns the ID of an item--- 
    public Object getItem(int position) { 
     return position; 
    } 

    public long getItemId(int position) { 
     return position; 
    } 

    //---returns an ImageView view--- 
    public View getView(int position, View convertView, ViewGroup parent) 
    { 
     ImageView imageView; 
     if (convertView == null) { 
      imageView = new ImageView(context); 
      imageView.setLayoutParams(new GridView.LayoutParams(85, 85)); 
      imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); 
      imageView.setPadding(5, 5, 5, 5); 
     } else { 
      imageView = (ImageView) convertView; 
     } 
     imageView.setImageResource(imageIDs[position]); 
     return imageView; 
    } 

    Integer[] imageIDs = { 
      R.drawable.icon, 
      R.drawable.icon, 
      R.drawable.icon, 
      R.drawable.icon, 
      R.drawable.icon, 
      R.drawable.icon, 
      R.drawable.icon, 
      R.drawable.icon 
    }; 
}  

如果您複製並粘貼^^它應該工作,你可能需要進口一些東西(你知道該怎麼做? )

任何問題,只是評論:)

+1

你可以解釋我參與使用網格視圖 – Pramod 2011-09-05 06:58:15

+0

我複製並粘貼的代碼,但它沒有編譯參數。 Logcat說它無法實例化活動。 – Nick 2011-10-01 04:21:44