책 보면서 코딩 연습중인데요..
배열 쪽 에러 같은데 이유를 잘 모르겠습니다.
-------------------------------------------------------
package com.example.expandablelistview;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.ExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.SimpleExpandableListAdapter;
public class MainActivity extends Activity {
ExpandableListView mList;
String[] arProv = new String[]{
"충청도", "경기도", "강원도"
};
String[][] arCity = new String[][]{
{"논산", "당진", "부여"},
{"수원", "용인"},
{"춘천", "원주", "홍천", "강릉"}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mList = (ExpandableListView)findViewById(R.id.list);
List<Map<String, String>> provData = new ArrayList<Map<String, String>>();
List<List<Map<String, String>>> cityData =
new ArrayList<List<Map<String, String>>>();
for (int i = 0; i < arProv.length; i++) {
Map<String, String> Prov = new HashMap<String, String>();
Prov.put("prov", arProv[i]);
provData.add(Prov);
List<Map<String, String>> children = new ArrayList<Map<String,String>>();
for (int j = 0; j < arCity.length; j++) {
Map<String, String> City = new HashMap<String, String>();
City.put("city", arCity[i][j]);
children.add(City);
}
cityData.add(children);
}//end for
ExpandableListAdapter adapter = new SimpleExpandableListAdapter(
this,
provData,
android.R.layout.simple_expandable_list_item_1,
new String[] {"prov"},
new int[] {android.R.id.text1},
cityData,
android.R.layout.simple_expandable_list_item_1,
new String[] {"city"},
new int[] {android.R.id.text1}
);
mList.setAdapter(adapter);
System.out.println(provData.size());
}//end onCreate
}//end MainActivity
-------------------------------------------------------------------------
로그캣 오류는
05-06 13:31:44.049: D/AbsListView(5842): Get MotionRecognitionManager
05-06 13:31:44.164: D/AndroidRuntime(5842): Shutting down VM
05-06 13:31:44.169: W/dalvikvm(5842): threadid=1: thread exiting with uncaught exception (group=0x40e422a0)
05-06 13:31:44.174: E/AndroidRuntime(5842): FATAL EXCEPTION: main
05-06 13:31:44.174: E/AndroidRuntime(5842): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.expandablelistview/com.example.expandablelistview.MainActivity}: java.lang.ArrayIndexOutOfBoundsException: length=2; index=2
05-06 13:31:44.174: E/AndroidRuntime(5842): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110)
05-06 13:31:44.174: E/AndroidRuntime(5842): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
05-06 13:31:44.174: E/AndroidRuntime(5842): at android.app.ActivityThread.access$700(ActivityThread.java:140)
05-06 13:31:44.174: E/AndroidRuntime(5842): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)
05-06 13:31:44.174: E/AndroidRuntime(5842): at android.os.Handler.dispatchMessage(Handler.java:99)
05-06 13:31:44.174: E/AndroidRuntime(5842): at android.os.Looper.loop(Looper.java:137)
05-06 13:31:44.174: E/AndroidRuntime(5842): at android.app.ActivityThread.main(ActivityThread.java:4946)
05-06 13:31:44.174: E/AndroidRuntime(5842): at java.lang.reflect.Method.invokeNative(Native Method)
05-06 13:31:44.174: E/AndroidRuntime(5842): at java.lang.reflect.Method.invoke(Method.java:511)
05-06 13:31:44.174: E/AndroidRuntime(5842): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1036)
05-06 13:31:44.174: E/AndroidRuntime(5842): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:803)
05-06 13:31:44.174: E/AndroidRuntime(5842): at dalvik.system.NativeStart.main(Native Method)
05-06 13:31:44.174: E/AndroidRuntime(5842): Caused by: java.lang.ArrayIndexOutOfBoundsException: length=2; index=2
05-06 13:31:44.174: E/AndroidRuntime(5842): at com.example.expandablelistview.MainActivity.onCreate(MainActivity.java:46)
05-06 13:31:44.174: E/AndroidRuntime(5842): at android.app.Activity.performCreate(Activity.java:5206)
05-06 13:31:44.174: E/AndroidRuntime(5842): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
05-06 13:31:44.174: E/AndroidRuntime(5842): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074)
05-06 13:31:44.174: E/AndroidRuntime(5842): ... 11 more
앱 실행만 하면 바로 꺼집니다.
책에 나와 있는 그대로 하고 있는데 도통 모르겠습니다. ㅠ