0

错误 - 市场无法解析或不是字段。新闻无法解析或不是字段。天气无法解析或不是字段。

我正在尝试 GridView 上的示例。我将名为 Market、News 和 Weather 的图像添加到res>>drawable-mdpi>>文件夹。但是 Eclipse 无法识别它。图片为 * jpeg *格式。可能有什么问题?你能帮忙吗?我在这里发布代码

public class MainActivity extends Activity 
{
    // Images to display-----------------------//
    Integer[] imageIds = {
            R.drawable.Market,
            R.drawable.News,
            R.drawable.Weather
    };
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        GridView gridView = (GridView) findViewById(R.id.gridview);// Bring gridView into context from main.xml
        gridView.setAdapter(new ImageAdapter(this)); 

        gridView.setOnItemClickListener(new OnItemClickListener()
        {
        public void onItemClick(AdapterView<?> parent,
        View v, int position, long id)
        {
            Toast.makeText(getBaseContext(), "pic " + (position + 1) + " selected",        Toast.LENGTH_SHORT).show();
        }
        });
     }

    public class ImageAdapter extends BaseAdapter
    {
        private Context context; // Context class object - context

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

        //return number of images
        public int getCount()
        {
            return imageIds.length;
        }

        public Object getItem(int position)     // return type of getItem method is an Object
        {
            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;
        }       
    }    
}
4

3 回答 3

0

在您的代码中替换以下行

整数 [] imageIds = { R.drawable.Market, R.drawable.News, R.drawable.Weather };

整数 [] imageIds = { R.drawable.market, R.drawable.news, R.drawable.weather };

还可以更改可绘制文件夹中的图像名称。

于 2012-04-01T15:47:43.133 回答
0

我尝试创建一个名为 Weather 的资源(一张图片放在 中drawable-mdpi),我得到了

res\drawable-mdpi\Weather.jpg:文件名无效:必须仅包含 [a-z0-9_.]

在日食中。我认为资源名称应该是蛇形的限制,但我发现这个线程,那个家伙说骆驼案也可以。这意味着唯一的限制是首字母不能大写。

于 2012-04-01T15:44:04.880 回答
0

// 没有大写,只有小

将您的可绘制图像更改为小写字母

android 将支持az,0-9, _

于 2012-04-01T15:44:56.230 回答