android中gridView问题,程序无法运行

一下是代码:
package com.example.android_gridview;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.GridView;
import android.widget.SimpleAdapter;

public class MainActivity extends Activity {

private GridView gridView;
private List<Map<String,Object>>dataList;
private int[]icon={R.drawable.tu1,R.drawable.tu2,R.drawable.tu3png,R.drawable.tu4};
private String[]iconName={"天气","日历","时钟","铃声"};
private SimpleAdapter adapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    gridView=(GridView) findViewById(R.id.gridView);
    //1、准备数据源
    //2、新建适配器(SimpleAdapter)
    //3、GridView加载适配器
    //4、GridView配置事件监听器(OnItemClickListener)
    dataList=new ArrayList<Map<String,Object>>();
    getData();
    adapter=new SimpleAdapter(this,getData(),
            R.layout.item,new String[]{"img","text"},
            new int[]{R.id.image,R.id.text});
    gridView.setAdapter(adapter);

}
private List<Map<String,Object>> getData(){
    for(int i=0;i<icon.length;i++){
    Map<String,Object>map=new HashMap<String,Object>();
    map.put("img", icon[i]);
    map.put("text",iconName[i]);
    dataList.add(map);
}return dataList;


} 

}
程序无法运行

可以把log贴出了,看看log。

把出错是报错的log贴出了,这样才能看到为啥不能运行

SimpleAdapter adapter = new SimpleAdapter(this,
(dataList, R.layout.griditem,
new String[] { "img","text" }, new int[] { R.id.image,R.id.text });

改成下面的试试

 dataList=getData();
  adapter=new SimpleAdapter(this,getData(),
            R.layout.item,new String[]{"img","text"},
            new int[]{R.id.image,R.id.text});
    gridView.setAdapter(adapter);