Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
解析错误-Android java_Java_Android_Parsing_Gridview - Fatal编程技术网

解析错误-Android java

解析错误-Android java,java,android,parsing,gridview,Java,Android,Parsing,Gridview,我正在尝试用图标动态填充gridview。我遵循了gridview hello教程。但是,包含图像的数组并不总是完全相同的。根据之前的操作,将给出一个不同的图像数组(从soap响应中提取),该数组由图标名称组成,例如agenda=>agenda.png。我想通过在数组中循环并添加R.drawable+icon\u name来创建数组。但是R.drawable无法解析到请求的整数数组 public class ImageAdapter extends BaseAdapter { priv

我正在尝试用图标动态填充gridview。我遵循了gridview hello教程。但是,包含图像的数组并不总是完全相同的。根据之前的操作,将给出一个不同的
图像数组
(从soap响应中提取),该数组由图标名称组成,例如agenda=>agenda.png。我想通过在数组中循环并添加
R.drawable+icon\u name
来创建数组。但是
R.drawable
无法解析到请求的整数数组

public class ImageAdapter extends BaseAdapter 
{
    private Context mContext;
    final ArrayList<String> image = getIntent().getStringArrayListExtra("image");

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

    public int getCount() {
        return icoontjes.size();
    }

    public Object getItem(int position) {
        return null;
    }

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

    public ArrayList<Integer> icoontjes;
    {
        for (int i=0; i<image.size(); i++){
            Integer icon= Integer.valueOf("R.drawable."+image.get(i));
            icoontjes.add(icon);
        }
    }

    // create a new ImageView for each item referenced by the Adapter
    public View getView(int position, View convertView, ViewGroup parent) {
        ImageView imageView;
        if (convertView == null) {  // if it's not recycled, initialize some attributes
            imageView = new ImageView(mContext);
            imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
            imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
            imageView.setPadding(8, 8, 8, 8);
        } else {
            imageView = (ImageView) convertView;
        }

        imageView.setImageResource(icoontjes.get(position));
        return imageView;
    }
}
公共类ImageAdapter扩展了BaseAdapter
{
私有上下文;
最终ArrayList image=getIntent().GetStringArrayListXTRA(“图像”);
公共图像适配器(上下文c){
mContext=c;
}
public int getCount(){
返回icontjes.size();
}
公共对象getItem(int位置){
返回null;
}
公共长getItemId(int位置){
返回0;
}
公共ArrayList Icontjes;
{

对于(inti=0;i我可以给你一个答案,但你不应该(真的不应该)这样做

而不是

Integer icon= Integer.valueOf("R.drawable."+image.get(i));
试一试


我可以给你一个答案,但你不应该(真的不应该)这样做

而不是

Integer icon= Integer.valueOf("R.drawable."+image.get(i));
试一试

你可以用

for (int i=0; i < image.size(); i++) {
    Integer icon = getResources().getIdentifier(image.get(i), "drawable", "your.package");
    icoontjes.add(icon);
}
for(int i=0;i
其中,
your.package
是android应用程序的基本包(定义了
静态最终R类的包)

通过这种方式,
图标
变量将根据您的
图像保存绘图表的id。获取(i)
您可以使用

for (int i=0; i < image.size(); i++) {
    Integer icon = getResources().getIdentifier(image.get(i), "drawable", "your.package");
    icoontjes.add(icon);
}
for(int i=0;i
其中,
your.package
是android应用程序的基本包(定义了
静态最终R类的包)

通过这种方式,
图标
变量将根据您的
图像保存绘图表的id。获取(i)