내 응용 프로그램에서 나는 (ArrayAdapter>를 확장하는) 어댑터에 전달할 것입니다. List<Map<String, String>>
. {received=true, text=Some sort of text}
가 여기 내의 getView 방법이다 : 당신은 내가의 setText 내 텍스트 뷰를 원하는 볼 수 있듯이이상한 textview.setText() 어댑터 결과 내
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Map<String, String> singleRecord = new HashMap<String, String>();
singleRecord = records.get(position);
View rowView = convertView;
if (rowView == null) {
LayoutInflater layoutInflater = context.getLayoutInflater();
rowView = layoutInflater.inflate(record_layout, null);
}
//To test get method I do:
String to_put = singleRecord.get(KEY_TEXT);
Log.e("Adapter", to_put);
////
TextView singleText = (TextView) rowView.findViewById(R.id.singleID);
singleText.setText(singleRecord.get(KEY_TEXT));
//viewHolder.singleText.setText(tekst);
return super.getView(position, convertView, parent);
}
내지도가 키를 포함하는 : 같은이 목록에서 단일 레코드 보인다 "KEY_TEXT"; get 메서드가 잘 작동하는지 테스트하려면 로그에 넣고 올바르게 보이지만 LogCat (텍스트의 텍스트)에 넣은 텍스트와 내 textview의 텍스트를 설정할 때 키 값을 얻지 못합니다 : "KEY_TEXT", 나는 다음과 같이 보입니다 : {received=true, text=Some sort of text}
그래서 하나의 레코드가 String으로 변환되었습니다. 아무도 이것이 왜 일어나는지를 알고 있습니까?
어떻게합니까 * 실제 * 문자열 보면, 당신은 당신의지도 내부 (값으로) 저장하고 있는지? –
왜'return rowView'입니까? 수퍼 클래스 메서드가 잘못된 텍스트를 어떻게 든 채울 것으로 생각됩니다. 당신의'getItem()'은 무엇을합니까? –
당신이 맞아요. 잘못된 값을 반환했는데, 그것이 getView 메소드로 ctrl + space를 눌렀을 때 Eclipse가 썼던 것입니다. – Janek