我一直在撞墙 - 任何人都可以帮忙处理代码:
http://developer.android.com/resources/tutorials/views/hello-gridview.html
每次我编写代码时,Eclipse都会给我带来大量不可思议的错误(特别是初学者),但即使我复制并粘贴代码 - 它仍然无法与android 2.2 sdk一起使用。欢迎任何帮助!
其次它还提到将一些样本图像复制到res下的drawable文件夹中,但是有drawable-hdpi,ldpi和mdpi文件夹 - 我应该将图像复制到哪个(或者全部3个?)
提前致谢
答案 0 :(得分:4)
请参阅我对您的Android教程相关问题的评论。关于图像,您应该将它们复制到所有3或创建一个名为drawable的新目录。让我更详细地解释一下。
每个设备都有密度,如HDPI,LDPI和MDPI(平板电脑甚至更多)。 android的想法是通过转到这些文件夹来使用最适合您设备的图像。如果找不到图像,它将在名为drawable的'generic'文件夹中查找。所以,如果你现在只测试你的逻辑并且不关心外观,只需创建'drawable'文件夹并将你的图像放在那里。
答案 1 :(得分: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
};
}
如果您复制并粘贴^^它应该有效,您可能需要导入一些东西(你知道怎么做吗?!)
任何问题只是评论:)