마스터Q&A
접속유지
가입하기
안드로이드 Q&A
최근 질문
미답변 질문
태그
사용자
질문하기
마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다.
안드로이드펍
에서 운영하고 있습니다. [
사용법
,
운영진
]
인기있는 태그
초보어플개발
(3426)
안드로이드스튜디오
(2661)
안드로이드-초보어플개발
(1333)
안드로이드-스튜디오
(1086)
도와주세요-
(994)
이미지
(969)
listview
(866)
리스트뷰
(844)
오류
(805)
레이아웃
(693)
fragment
(675)
webview
(670)
커스텀 리스트뷰에서 클릭항목 불러오는법
0
추천
커스텀
리스트
뷰에서 클릭한 항목의 내용을 불러올수 없나요?
Adapter에서 불러오면 마지막으로 추가한 항목의 내용만 불러와 집니다..
다른방법으로 불가능한가요?
안드로이드
도와주세요
커스텀_리스트_뷰
KMCPE
(
260
포인트)
님이
2013년 12월 14일
질문
Please
log in
or
register
to add a comment.
답변 달기
·
글에 소스 코드 보기 좋게 넣는 법
·
질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
답변이 채택되거나 답변에 댓글이 달리면 이메일로 알려드립니다:
답변이 채택되거나 댓글이 달리면 이메일로 알려드립니다
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면
로그인
하거나 혹은
가입
하세요.
1개의 답변
0
추천
커스텀이라면 일단 구조가 어떨지 모르겠군요.
일단 리스트뷰는 setOnItem . . . 관련 리스너를 통해
해당 뷰에 대한 내용을 불러옵니다.
adb
(
830
포인트)
님이
2013년 12월 14일
답변
제가 만약 폰에 특정앱이 깔려있으면 그 앱을 리스트뷰에 넣어서,
클릭하면 그 정보를 띄우는것을 할려고 하는데
그 항목의 정보가 특정하지 않아서 그럽니다..
커스텀 리스트뷰의 간단한 구조는 텍스트3,이미지1 입니다.
그 텍스트 를 불러오는 법은 어떻게 되나요,,
화면에 출력 되는 정보가 제대로 보인다면
어댑터 쪽이 배열일겁니다.
setOnItem 리스너를 등록해서 인덱스를 알아내고,
어댑터 배열에서 해당 인덱스 위치에 있는
텍스트뷰의 값을 받아오면 됩니다.
(이렇게 밖에 얘기를 못합니다. 커스텀이라는 건 말 그대로
개발자가 마음대로 만든것이기 때문에
안에 텍스트뷰가 몇개 있다고 들어봐야 어디를 어떻게
참조할 수 있도록 한건지 알 수 없으니까요.)
어뎁터 입니다.
어떻게 해야지 불러올수 있나요?
public class Apps_List_Adapter extends ArrayAdapter<Apps_List_Data> {
private ArrayList<Apps_List_Data> items;
public Apps_List_Adapter(Context context, int textViewResourceId,
ArrayList<Apps_List_Data> items) {
super(context, textViewResourceId, items);
this.items = items; }
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater) getContext().getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.apps, null);
}
Apps_List_Data custom_list_data = items.get(position);
if (custom_list_data != null) {
//하나의 이미지뷰와 2개의 텍스트뷰 정보를 받아온다.
ImageView iv = (ImageView)v.findViewById(R.id.apps_list_img);
TextView tv_Main = (TextView) v.findViewById(R.id.apps_list_title_main);
TextView tv_Sub = (TextView) v.findViewById(R.id.apps_list_title_sub);
TextView tv_Sub2 = (TextView) v.findViewById(R.id.apps_list_title_sub2);
// 현재 item의 position에 맞는 이미지와 글을 넣어준다.
iv.setBackgroundResource(custom_list_data.getImage_ID());
tv_Main.setText(custom_list_data.getMain_Title());
tv_Sub.setText(custom_list_data.getSub_Title());
tv_Sub2.setText(custom_list_data.getSub_Title2());
}
return v;
}
}
class Apps_List_Data {
private int Image_ID;
private String Main_Title;
private String Sub_Title;
private String Sub_Title2;
public Apps_List_Data(int image_ID, String _Main_Title, String _Sub_Title, String _Sub_Title2) {
this.setImage_ID(image_ID);
this.setMain_Title(_Main_Title);
this.setSub_Title(_Sub_Title);
this.setSub_Title2(_Sub_Title2);
}
public int getImage_ID() {
return Image_ID;
}
public void setImage_ID(int image_ID2) {
Image_ID = image_ID2;
}
public String getMain_Title() {
return Main_Title;
}
public void setMain_Title(String main_Title) {
Main_Title = main_Title;
}
public String getSub_Title() {
return Sub_Title;
}
public void setSub_Title(String sub_Title) {
Sub_Title = sub_Title;
}
public String getSub_Title2() {
return Sub_Title2;
}
public void setSub_Title2(String sub_Title2) {
Sub_Title2 = sub_Title2;
}
}
String Main_Title = Apps_List_Adapter의 변수명.getItem(인덱스).Main_Title;
이렇게 하면 되겠네요.
Item이 없다고 뜹니다...
에러가 난다는건가요?
아예 빈칸으로 뜬다는건가요?
아,
item이 아니고 Sub_Title()를 getSub_Title()로 바꾸는게 맞는건가요?
그러고보니 리턴 함수가 있네요.
그렇게 해서 결과가 나온다면
그렇게 하시는게 좋아요.
와,,정말 감사합니다!
Please
log in
or
register
to add a comment.
...