마스터Q&A
접속유지
가입하기
안드로이드 Q&A
최근 질문
미답변 질문
태그
사용자
질문하기
마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다.
안드로이드펍
에서 운영하고 있습니다. [
사용법
,
운영진
]
인기있는 태그
초보어플개발
(3427)
안드로이드스튜디오
(2664)
안드로이드-초보어플개발
(1333)
안드로이드-스튜디오
(1086)
도와주세요-
(995)
이미지
(970)
listview
(866)
리스트뷰
(844)
오류
(805)
레이아웃
(693)
fragment
(675)
webview
(670)
RecyclerView를 이용해서 EditText를 GetText할려고하는데요
0
추천
제가 버튼을 누를때마다 EditText를 리사이클러뷰에 하나씩 생성되게 해서
확인을 누르면 지금까지 EditText 들에 쓰여진 Text들을 getText를 하고싶은데요 어떤식으로 해야하는건가요 ㅠㅠ
recyclerview
안드로이드
edittext
리사이클러뷰
gettext
And초보견습생
(
120
포인트)
님이
2016년 8월 31일
질문
먼저 RecyclerView의 사용법은 아시리라고 생각합니다. 안그러시다면 먼저 RecylerView의 사용법을 구글을 검색하여 익히시기 바랍니다. 대략적인 코드는 아래처럼 될 것 같습니다.
//Adapter Class
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder>
private ArrayList<String> strings = new ArrayList();
public void addItem(String s) {
strings.add(s);
}
public String getItem(int position) {
return strings.get(position);
}
public String getAllText() {
StringBuilder sb = new StringBuilder():
for (String s : strings)
sb.append(s);
return sb.toString();
}
@Override
public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,
int viewType) {
View v = LayoutInflater.from(parent.getContext())
.inflate(R.layout.my_text_view, parent, false);
ViewHolder vh = new ViewHolder(v);
return vh;
}
// Replace the contents of a view (invoked by the layout manager)
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
holder.mEditText.setText(strings[position]);
}
//ViewHolder에는 EditText를 포함하도록 합니다.
//ViewHolder 구현은 직접.
}
Activity의 버튼 클릭이벤트에서 adapter의 instance의 addItem을 호출하시면 됩니다.
myAdapter.addItem("");
myAdapter.notifyDataSetChanged(); //item 갱신
그리고 EditText에 입력이 끝나면 이걸 다시 Adapter에 있는 arraylist를 업데이트 해주신 후 다시 갱신해 주시면 됩니다.
리스트 아이템이 많을 경우는 notifyDataSetChanged는 보이는 전체 아이템을 다시 그리므로 퍼모먼스가 떨어질 수도 있으니 그럴 때는 notifyItemChanged(int position)를 활용하는 걸 검토하시길 바랍니다.
정말 감사합니다 자세하게 설명해주셔서 이해도 쉽고 감사해요!
Please
log in
or
register
to add a comment.
답변 달기
·
글에 소스 코드 보기 좋게 넣는 법
·
질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
답변이 채택되거나 답변에 댓글이 달리면 이메일로 알려드립니다:
답변이 채택되거나 댓글이 달리면 이메일로 알려드립니다
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면
로그인
하거나 혹은
가입
하세요.
...