마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Geocoder사용해서 주소를 위도,경도로 가져오는데 에러나요..

0 추천
	    public void onItemClick(AdapterView<?> parentView, View clickedView, int position1, long id)
	    {
	    	
	    	String Location = ((TextView) clickedView).getText().toString();
	        Geocoder mCoder= new Geocoder(getActivity(), Locale.KOREAN );
		    
		    List<Address> addr=null;
		    
		    
		    try {
				addr = mCoder.getFromLocationName(Location, 1);
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

		    Address Address = addr.get(0); // Address형태로
            int latitude = (int) (Address.getLatitude() * 1E6);
            int longitude = (int) (Address.getLongitude() * 1E6);

 

05-20 19:07:51.736: E/AndroidRuntime(15140): FATAL EXCEPTION: main
05-20 19:07:51.736: E/AndroidRuntime(15140): java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
05-20 19:07:51.736: E/AndroidRuntime(15140): at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:251)
05-20 19:07:51.736: E/AndroidRuntime(15140): at java.util.ArrayList.get(ArrayList.java:304)
05-20 19:07:51.736: E/AndroidRuntime(15140): at com.khan.webnautes.map$4.onItemClick(map.java:324)
05-20 19:07:51.736: E/AndroidRuntime(15140): at android.widget.AdapterView.performItemClick(AdapterView.java:298)
05-20 19:07:51.736: E/AndroidRuntime(15140): at android.widget.AbsListView.performItemClick(AbsListView.java:1110)
05-20 19:07:51.736: E/AndroidRuntime(15140): at android.widget.AbsListView$PerformClick.run(AbsListView.java:2906)
05-20 19:07:51.736: E/AndroidRuntime(15140): at android.widget.AbsListView$1.run(AbsListView.java:3735)
05-20 19:07:51.736: E/AndroidRuntime(15140): at android.os.Handler.handleCallback(Handler.java:615)
05-20 19:07:51.736: E/AndroidRuntime(15140): at android.os.Handler.dispatchMessage(Handler.java:92)
05-20 19:07:51.736: E/AndroidRuntime(15140): at android.os.Looper.loop(Looper.java:137)
05-20 19:07:51.736: E/AndroidRuntime(15140): at android.app.ActivityThread.main(ActivityThread.java:4885)
05-20 19:07:51.736: E/AndroidRuntime(15140): at java.lang.reflect.Method.invokeNative(Native Method)
05-20 19:07:51.736: E/AndroidRuntime(15140): at java.lang.reflect.Method.invoke(Method.java:511)
05-20 19:07:51.736: E/AndroidRuntime(15140): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
05-20 19:07:51.736: E/AndroidRuntime(15140): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
05-20 19:07:51.736: E/AndroidRuntime(15140): at dalvik.system.NativeStart.main(Native Method)
 
 
 
addr = mCoder.getFromLocationName(Location, 1);

이 부분에서 비어있는 리스트를 반환하는 거 같습니다...

구글 api 설정도 이상없는데... 왜이러는지 모르겠습니다.

 
이정주 (780 포인트) 님이 2013년 5월 20일 질문

1개의 답변

0 추천
못가져올때도 있고 없는 경우도 있습니다.

예외처리를 잘해주시면될꺼같네요..
SGLEE (1,690 포인트) 님이 2013년 5월 21일 답변
...