Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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
Java 显示黑色矩形的抽绳_Java_Android_Drawable - Fatal编程技术网

Java 显示黑色矩形的抽绳

Java 显示黑色矩形的抽绳,java,android,drawable,Java,Android,Drawable,此问题仅在随机设备上发生。例如,我的G Nexus能够正确显示图标,但我朋友的却不能 我把我的绘图都存储在“drawables”文件夹中,而不是那些具有特定像素密度的 它会正确显示其他图标。只有我用Drawables以编程方式创建的一个才会出错 日志猫似乎不会抛出任何异常 出于某些原因,仅在某些设备上,我尝试绘制的图标显示为黑色矩形。这只发生在我第一次将图标转换为可绘制图标时。我的守则如下: public static class GridItem { public String tex

此问题仅在随机设备上发生。例如,我的G Nexus能够正确显示图标,但我朋友的却不能

我把我的绘图都存储在“drawables”文件夹中,而不是那些具有特定像素密度的

它会正确显示其他图标。只有我用Drawables以编程方式创建的一个才会出错

日志猫似乎不会抛出任何异常

出于某些原因,仅在某些设备上,我尝试绘制的图标显示为黑色矩形。这只发生在我第一次将图标转换为可绘制图标时。我的守则如下:

public static class GridItem {
    public String text;
    public Drawable image;
    public Intent intent;
    public GridItem(String text, Drawable Image, Intent intent) {
         this.text = text;
         this.image = image;
         image.setBounds(0, 0, 160, 160);
         this.intent = intent;
    }
}
下面是我如何创建可绘制的:

gridItems.add(new GridItem("Schedule", getResources().getDrawable(R.drawable.schedule),
    new Intent(this, ScheduleActivity.class)));
下面是BaseAdapter类:

public class GridMenuAdapter extends BaseAdapter {

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View item = getLayoutInflater().inflate(R.layout.grid_item_layout, null);
        item.setPadding(0, 50, 0, 40);
        GridItem current = gridItems.get(position);
        TextView label = (TextView)item.findViewById(R.id.item_label);
        label.setText(current.text);
        label.setCompoundDrawables(null, current.image, null, null);
        label.setCompoundDrawablePadding(32);
        item.setMinimumHeight(300);
        return item;
    }

    @Override
    public final int getCount() {
        return gridItems.size();
    }

    @Override
    public Object getItem(int position) {
        return gridItems.get(position);
    }

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

已解决:较新版本的Android不喜欢.gif文件,所以我只是将它们全部转换为PNG,现在可以正常工作。

已解决:较新版本的Android不喜欢.gif文件,所以我只是将它们全部转换为PNG,现在可以正常工作。

很可能是内存不足的情况。使用DDMS检查内存分配。很可能是内存不足的情况。使用DDMS检查内存分配。