package?com.example.gridviewdemo;
import?java.util.ArrayList;
import?java.util.HashMap;
import?java.util.List;
import?java.util.Map;
import?android.os.Bundle;
import?android.os.Handler;
import?android.R.integer;
import?android.app.Activity;
import?android.view.Menu;
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.address_book?,?R.drawable.calendar,R.drawable.camera,
??????????????????????????????????????????????R.drawable.clock,R.drawable.games_control,?R.drawable.messenger,
??????????????????????????????????????????????R.drawable.ringtone,R.drawable.settings,??R.drawable.speech_balloon,
??????????????????????????????????????????????R.drawable.weather,R.drawable.world,??R.drawable.youtube};
????????private?String[]?iconName?=?{"通訊錄","日歷","照相機",
???????? ????????????????????????????????????????????? "時鐘","游戲","短信",
???????? ????????????????????????????????????????????? "鈴聲","設置","語音",
???????? ????????????????????????????????????????????? "天氣","瀏覽器","視頻"};?
????????private?SimpleAdapter?simpleAdapter;
????????
????@Override
????protected?void?onCreate(Bundle?savedInstanceState)?{
????????super.onCreate(savedInstanceState);
????????setContentView(R.layout.activity_main);
????????//1.準備數(shù)據(jù)
???????//2.創(chuàng)建適配器
????????//3.視圖加載適配器
????????//4.綁定監(jiān)聽器
????????
????????gridView??=??(GridView)?findViewById(R.id.gridView);
????????getData();
????????datalist??=??new?ArrayList<Map<String,Object>>();
????????simpleAdapter?=?new?SimpleAdapter(this?,getData(),?R.layout.item,?new?String[]{"imageView","textView"},?new?int[]{R.id.imageView,R.id.textView});
??????gridView.setAdapter(simpleAdapter);
????}
????
private?List<Map<String,?Object>>?getData()?{
for?(int?i?=?0;?i?<?icon.length;?i++)?{
Map<String,Object?>?map?=?new?HashMap<String,?Object>();
map.put("imageView",?icon[i]?);
map.put("textViews",?iconName[i]);
datalist.add(map);
}
return?datalist;
}
?
????
}
2016-10-08
第一?
?gridView??=??(GridView)?findViewById(R.id.gridView);
????????????????getData();//這個可以不用 因為后面SimpleAdapter里面已經包含
第二 ???map.put("textViews",?iconName[i]);// 這里面的key 跟你上面定義的不一樣 多寫了一個s
2016-10-05
空指針,是因為datalist在add的時候還沒有創(chuàng)建,把下面兩行代碼顛倒一下位置
2016-10-03
這是logcat的錯誤信息
10-03 01:45:23.023: W/dalvikvm(1003): threadid=1: thread exiting with uncaught exception (group=0xb4a9ab90)
10-03 01:45:23.043: E/AndroidRuntime(1003): FATAL EXCEPTION: main
10-03 01:45:23.043: E/AndroidRuntime(1003): Process: com.example.gridviewdemo, PID: 1003
10-03 01:45:23.043: E/AndroidRuntime(1003): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.gridviewdemo/com.example.gridviewdemo.MainActivity}: java.lang.NullPointerException
10-03 01:45:23.043: E/AndroidRuntime(1003): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2176)
10-03 01:45:23.043: E/AndroidRuntime(1003): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2226)
10-03 01:45:23.043: E/AndroidRuntime(1003): at android.app.ActivityThread.access$700(ActivityThread.java:135)
10-03 01:45:23.043: E/AndroidRuntime(1003): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1397)
10-03 01:45:23.043: E/AndroidRuntime(1003): at android.os.Handler.dispatchMessage(Handler.java:102)
10-03 01:45:23.043: E/AndroidRuntime(1003): at android.os.Looper.loop(Looper.java:137)
10-03 01:45:23.043: E/AndroidRuntime(1003): at android.app.ActivityThread.main(ActivityThread.java:4998)
10-03 01:45:23.043: E/AndroidRuntime(1003): at java.lang.reflect.Method.invokeNative(Native Method)
10-03 01:45:23.043: E/AndroidRuntime(1003): at java.lang.reflect.Method.invoke(Method.java:515)
10-03 01:45:23.043: E/AndroidRuntime(1003): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
10-03 01:45:23.043: E/AndroidRuntime(1003): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
10-03 01:45:23.043: E/AndroidRuntime(1003): at dalvik.system.NativeStart.main(Native Method)
10-03 01:45:23.043: E/AndroidRuntime(1003): Caused by: java.lang.NullPointerException
10-03 01:45:23.043: E/AndroidRuntime(1003): at com.example.gridviewdemo.MainActivity.getData(MainActivity.java:49)
10-03 01:45:23.043: E/AndroidRuntime(1003): at com.example.gridviewdemo.MainActivity.onCreate(MainActivity.java:38)
10-03 01:45:23.043: E/AndroidRuntime(1003): at android.app.Activity.performCreate(Activity.java:5243)
10-03 01:45:23.043: E/AndroidRuntime(1003): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
10-03 01:45:23.043: E/AndroidRuntime(1003): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2140)
10-03 01:45:23.043: E/AndroidRuntime(1003): ... 11 more
10-03 01:46:00.653: W/dalvikvm(1042): threadid=1: thread exiting with uncaught exception (group=0xb4a9ab90)
10-03 01:46:00.723: E/AndroidRuntime(1042): FATAL EXCEPTION: main
10-03 01:46:00.723: E/AndroidRuntime(1042): Process: com.example.gridviewdemo, PID: 1042
10-03 01:46:00.723: E/AndroidRuntime(1042): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.gridviewdemo/com.example.gridviewdemo.MainActivity}: java.lang.NullPointerException
10-03 01:46:00.723: E/AndroidRuntime(1042): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2176)
10-03 01:46:00.723: E/AndroidRuntime(1042): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2226)
10-03 01:46:00.723: E/AndroidRuntime(1042): at android.app.ActivityThread.access$700(ActivityThread.java:135)
10-03 01:46:00.723: E/AndroidRuntime(1042): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1397)
10-03 01:46:00.723: E/AndroidRuntime(1042): at android.os.Handler.dispatchMessage(Handler.java:102)
10-03 01:46:00.723: E/AndroidRuntime(1042): at android.os.Looper.loop(Looper.java:137)
10-03 01:46:00.723: E/AndroidRuntime(1042): at android.app.ActivityThread.main(ActivityThread.java:4998)
10-03 01:46:00.723: E/AndroidRuntime(1042): at java.lang.reflect.Method.invokeNative(Native Method)
10-03 01:46:00.723: E/AndroidRuntime(1042): at java.lang.reflect.Method.invoke(Method.java:515)
10-03 01:46:00.723: E/AndroidRuntime(1042): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
10-03 01:46:00.723: E/AndroidRuntime(1042): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
10-03 01:46:00.723: E/AndroidRuntime(1042): at dalvik.system.NativeStart.main(Native Method)
10-03 01:46:00.723: E/AndroidRuntime(1042): Caused by: java.lang.NullPointerException
10-03 01:46:00.723: E/AndroidRuntime(1042): at com.example.gridviewdemo.MainActivity.getData(MainActivity.java:49)
10-03 01:46:00.723: E/AndroidRuntime(1042): at com.example.gridviewdemo.MainActivity.onCreate(MainActivity.java:38)
10-03 01:46:00.723: E/AndroidRuntime(1042): at android.app.Activity.performCreate(Activity.java:5243)
10-03 01:46:00.723: E/AndroidRuntime(1042): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
10-03 01:46:00.723: E/AndroidRuntime(1042): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2140)
10-03 01:46:00.723: E/AndroidRuntime(1042): ... 11 more
10-03 01:48:18.673: W/dalvikvm(1105): threadid=1: thread exiting with uncaught exception (group=0xb4a9ab90)
10-03 01:48:18.693: E/AndroidRuntime(1105): FATAL EXCEPTION: main
10-03 01:48:18.693: E/AndroidRuntime(1105): Process: com.example.gridviewdemo, PID: 1105
10-03 01:48:18.693: E/AndroidRuntime(1105): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.gridviewdemo/com.example.gridviewdemo.MainActivity}: java.lang.NullPointerException
10-03 01:48:18.693: E/AndroidRuntime(1105): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2176)
10-03 01:48:18.693: E/AndroidRuntime(1105): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2226)
10-03 01:48:18.693: E/AndroidRuntime(1105): at android.app.ActivityThread.access$700(ActivityThread.java:135)
10-03 01:48:18.693: E/AndroidRuntime(1105): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1397)
10-03 01:48:18.693: E/AndroidRuntime(1105): at android.os.Handler.dispatchMessage(Handler.java:102)
10-03 01:48:18.693: E/AndroidRuntime(1105): at android.os.Looper.loop(Looper.java:137)
10-03 01:48:18.693: E/AndroidRuntime(1105): at android.app.ActivityThread.main(ActivityThread.java:4998)
10-03 01:48:18.693: E/AndroidRuntime(1105): at java.lang.reflect.Method.invokeNative(Native Method)
10-03 01:48:18.693: E/AndroidRuntime(1105): at java.lang.reflect.Method.invoke(Method.java:515)
10-03 01:48:18.693: E/AndroidRuntime(1105): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
10-03 01:48:18.693: E/AndroidRuntime(1105): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
10-03 01:48:18.693: E/AndroidRuntime(1105): at dalvik.system.NativeStart.main(Native Method)
10-03 01:48:18.693: E/AndroidRuntime(1105): Caused by: java.lang.NullPointerException
10-03 01:48:18.693: E/AndroidRuntime(1105): at com.example.gridviewdemo.MainActivity.getData(MainActivity.java:50)
10-03 01:48:18.693: E/AndroidRuntime(1105): at com.example.gridviewdemo.MainActivity.onCreate(MainActivity.java:39)
10-03 01:48:18.693: E/AndroidRuntime(1105): at android.app.Activity.performCreate(Activity.java:5243)
10-03 01:48:18.693: E/AndroidRuntime(1105): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
10-03 01:48:18.693: E/AndroidRuntime(1105): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2140)
10-03 01:48:18.693: E/AndroidRuntime(1105): ... 11 more
10-03 01:48:41.503: W/dalvikvm(1144): threadid=1: thread exiting with uncaught exception (group=0xb4a9ab90)
10-03 01:48:41.513: E/AndroidRuntime(1144): FATAL EXCEPTION: main
10-03 01:48:41.513: E/AndroidRuntime(1144): Process: com.example.gridviewdemo, PID: 1144
10-03 01:48:41.513: E/AndroidRuntime(1144): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.gridviewdemo/com.example.gridviewdemo.MainActivity}: java.lang.NullPointerException
10-03 01:48:41.513: E/AndroidRuntime(1144): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2176)
10-03 01:48:41.513: E/AndroidRuntime(1144): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2226)
10-03 01:48:41.513: E/AndroidRuntime(1144): at android.app.ActivityThread.access$700(ActivityThread.java:135)
10-03 01:48:41.513: E/AndroidRuntime(1144): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1397)
10-03 01:48:41.513: E/AndroidRuntime(1144): at android.os.Handler.dispatchMessage(Handler.java:102)
10-03 01:48:41.513: E/AndroidRuntime(1144): at android.os.Looper.loop(Looper.java:137)
10-03 01:48:41.513: E/AndroidRuntime(1144): at android.app.ActivityThread.main(ActivityThread.java:4998)
10-03 01:48:41.513: E/AndroidRuntime(1144): at java.lang.reflect.Method.invokeNative(Native Method)
10-03 01:48:41.513: E/AndroidRuntime(1144): at java.lang.reflect.Method.invoke(Method.java:515)
10-03 01:48:41.513: E/AndroidRuntime(1144): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
10-03 01:48:41.513: E/AndroidRuntime(1144): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
10-03 01:48:41.513: E/AndroidRuntime(1144): at dalvik.system.NativeStart.main(Native Method)
10-03 01:48:41.513: E/AndroidRuntime(1144): Caused by: java.lang.NullPointerException
10-03 01:48:41.513: E/AndroidRuntime(1144): at com.example.gridviewdemo.MainActivity.getData(MainActivity.java:50)
10-03 01:48:41.513: E/AndroidRuntime(1144): at com.example.gridviewdemo.MainActivity.onCreate(MainActivity.java:39)
10-03 01:48:41.513: E/AndroidRuntime(1144): at android.app.Activity.performCreate(Activity.java:5243)
10-03 01:48:41.513: E/AndroidRuntime(1144): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
10-03 01:48:41.513: E/AndroidRuntime(1144): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2140)
10-03 01:48:41.513: E/AndroidRuntime(1144): ... 11 more
10-03 01:50:50.303: W/dalvikvm(1192): threadid=1: thread exiting with uncaught exception (group=0xb4a9ab90)
10-03 01:50:50.333: E/AndroidRuntime(1192): FATAL EXCEPTION: main
10-03 01:50:50.333: E/AndroidRuntime(1192): Process: com.example.gridviewdemo, PID: 1192
10-03 01:50:50.333: E/AndroidRuntime(1192): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.gridviewdemo/com.example.gridviewdemo.MainActivity}: java.lang.NullPointerException
10-03 01:50:50.333: E/AndroidRuntime(1192): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2176)
10-03 01:50:50.333: E/AndroidRuntime(1192): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2226)
10-03 01:50:50.333: E/AndroidRuntime(1192): at android.app.ActivityThread.access$700(ActivityThread.java:135)
10-03 01:50:50.333: E/AndroidRuntime(1192): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1397)
10-03 01:50:50.333: E/AndroidRuntime(1192): at android.os.Handler.dispatchMessage(Handler.java:102)
10-03 01:50:50.333: E/AndroidRuntime(1192): at android.os.Looper.loop(Looper.java:137)
10-03 01:50:50.333: E/AndroidRuntime(1192): at android.app.ActivityThread.main(ActivityThread.java:4998)
10-03 01:50:50.333: E/AndroidRuntime(1192): at java.lang.reflect.Method.invokeNative(Native Method)
10-03 01:50:50.333: E/AndroidRuntime(1192): at java.lang.reflect.Method.invoke(Method.java:515)
10-03 01:50:50.333: E/AndroidRuntime(1192): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
10-03 01:50:50.333: E/AndroidRuntime(1192): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
10-03 01:50:50.333: E/AndroidRuntime(1192): at dalvik.system.NativeStart.main(Native Method)
10-03 01:50:50.333: E/AndroidRuntime(1192): Caused by: java.lang.NullPointerException
10-03 01:50:50.333: E/AndroidRuntime(1192): at com.example.gridviewdemo.MainActivity.getData(MainActivity.java:50)
10-03 01:50:50.333: E/AndroidRuntime(1192): at com.example.gridviewdemo.MainActivity.onCreate(MainActivity.java:39)
10-03 01:50:50.333: E/AndroidRuntime(1192): at android.app.Activity.performCreate(Activity.java:5243)
10-03 01:50:50.333: E/AndroidRuntime(1192): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
10-03 01:50:50.333: E/AndroidRuntime(1192): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2140)
10-03 01:50:50.333: E/AndroidRuntime(1192): ... 11 more