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

listview 에 edittext 넣기

0 추천
하루종일 삽질중인데 ㅜㅜ 풀릴듯 말듯 아우...

뭔가 너무 어렵게 생각하고 있는것인지...

listview 안에 inflate 로 row 를 넣었습니다 row 에는 edittext 가 있구요.

총 10개의 row 가 필요하고 10개의 edittext 에는 검색단어가 들어가게 됩니다.

그런데 첫번째 검색단어를 입력하고 스크롤을 움직이거나 하면 adapter의  getview 함수를 새로 불러와 초기화가 되고 있

습니다.  이 부분 해결 할 수 없나요 ㅜㅜ 혹... 다른 방법 없을까요...

현재는 addTextChangedListener 리스너 이용해서 하려고 하는데 이것도 이벤트가 발생할때마다 호출되어 배열에

저장하려고 해도 "가나다" 를 입력한다고 했을때 배열에 0번째방 ㄱ 1번째방 가 2번째방 가ㄴ   이런식으로 저장되고 있고

오후 내내 붙잡고 있으니 머리가 더 안돌아 가네요 ...
숀화이트 (3,310 포인트) 님이 2014년 7월 23일 질문

1개의 답변

0 추천

전체적인 로직이..

editText에 특정 단어를 입력해서 add 버튼 등으로 listView에 총 10개의 값을 넣는게 목표인것인가요?

근데 문제가 스크롤하거나 다른 값을 새로 넣으면 값들이 초기화 된다는 말씀이신지..

아까 소스에서 궁금한 부분이 있었는데요

for (int i = 0; i < 10; i++)
{
data.setStrUrl("");
data.setStrSearch("");
listArr.add(data);
}
 
여기서 for문은 왜 넣으신건가요..? 
위의 data.setStrUrl("");이거랑 data.setStrSearch("");이 공백처리?하는거같고,
밑에 listArr.add(data)가 어레이 리스트에 값 넣는거죠?
 
anci (19,950 포인트) 님이 2014년 7월 23일 답변
anci님이 2014년 7월 23일 수정
정말 단순하게 생각 하면 10개의 edittext 에 문자 입력이 온전히 되게 하는것입니다. 하지만 화면 변화가 생기면 getview 함수가 불려져서 listview 가 새로 뿌려지니 저장된 내용이 없으니 모든 edittext 는 초기화가 되는것이지요.
View v1 = inf.inflate(R.layout.list_item, null);
inflate 시킨 레이아웃에 아무런 값이 없으면 리스트뷰 자체가 안떠서 저렇게 10개 돌려서 listview 에 edit를 띄웠습니다.
...