안녕하세요. 


앱 하나를 개발중에 있는데 구글링을 통해 겨우겨우 완성단계에 도달되어 가는데~ 


이놈에 리스트뷰 하나때문에 엄청고생중이네요.


비슷한 경우들을 더러 봤는데 이런 경우들은 잘 없으신거 같아서 도움을 좀 구하고자 합니다.


 	//List의 row를 변형하기 위해 Adapter 오버라이딩
	private class XmlListAdapter extends ArrayAdapter<Object> {
		private ArrayList<XmlData> items;
		@SuppressWarnings("unchecked")
		public XmlListAdapter(Context context, int textViewResourceId, ArrayList items){
			super(context, textViewResourceId, items);
			this.items = items;
		}
		@Override
		public View getView(final int position, View convertView, ViewGroup parent){
			View v = convertView;
			if(v ==null){
				LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
				v = vi.inflate(R.layout.row, null);
			}
			XmlData xmlData = (XmlData)items.get(position);     //   1
			
			if(xmlData != null){
				tv1 = (TextView)v.findViewById(R.id.custsearch_custcd);
				tv2 = (TextView)v.findViewById(R.id.custsearch_custnm);
				tv3 = (TextView)v.findViewById(R.id.custsearch_telno1);
				tv4 = (TextView)v.findViewById(R.id.custsearch_hphoneno1);
				tv5 = (TextView)v.findViewById(R.id.custsearch_address);
				if(tv1 !=null){
					tv1.setText(xmlData.d_CustCd);
					tv2.setText(xmlData.d_CustNm);
					tv3.setText(xmlData.d_TelNo1);	
					tv4.setText(xmlData.d_HphoneNo1);
					tv5.setText(xmlData.d_Address);							
				}
			}
			return v;
		}
	}	


 	@Override
	protected void onListItemClick(ListView l, View v, int position, long id){
		super.onListItemClick(l, v, position, id);      
                                                                                      ↓ 2
		TextView tv = (TextView)l.getChildAt(position).findViewById(R.id.custsearch_custcd); 
		((GlobalFunc)getApplicationContext()).mCustCd = (String)tv.getText();   
		Intent intent5 = new Intent(CustSearch.this, Customer.class);
		startActivity(intent5);
	}



우선 커스텀 리스트뷰로 구성하였습니다.


상기 데이타는 풀파싱을 통해서 웹에서 xml 을 가져와 뿌려주는데에까지는 아무런 지장이 없습니다.


어떤 문제가 발생하냐 하면


현재 갤럭시Tab 을 가지고 테스트중에 있는데 리스트뷰가 한 화면에 뿌려주는게 8줄 입니다.


1번에서 0~7번까지 position 이 나타나는건 디버깅통해서 확인했습니다.


그리고 0~7번줄중 아무거나  클릭하였을시에 2번에서 정상적으로 position 값을 가져와서 원하는 값을 추출합니다.


근데 리스트뷰에서 스크롤 하여 밑으로 내려갔을 경우에 position 의 값이 8부터 스크롤 되어지는곳까지 


늘어나는것도 확인되고 setText로 데이터가 들어가는것도 확인하였는데


희안하게 한화면이 벗어난 값부터는 2번에서 계속적으로 오류가 발생합니다.


디버그에는


ZygoteInit$MethodAndArgsCaller.run() line: 864

ZygoteInit.main(String[]) line: 616

NativeStart.main(String[]) line: not available [native method]


이것만 나오는데 멍하네요...

구글링도 엄청나게 했습니다. 한 며칠째 이러고 있으니 얼굴에 기름기 줄줄 흐르고~

사람 미치겠습니다. 초짜라서 잘 모르는 부분이 있을수 있다고 생각하시고~ 정중하게 조언좀 부탁드립니다~

사람 한명 살린다고 생각해주십시오....