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

버튼 또는 메소드 안에 position 값 얻어 오는법

0 추천

우선 제가 하고 싶은 것은

1. 메소드 안에 포지션 값을 가지고 오는 것 입니다.

2. 메소드에 가지고 오기 위해서 친구추가 라는 버튼을 클릭 했을때 pos = position 를 해주고

이 pos 를 메소드 안에서 참조 시켜서 사용 하려고 하는데 pos 값을 못 가지고 오겠네요 ㅠㅠ

검색을 통해 확인 해본 결과

setTah , getTag 를 이용해서 받아 올수 있다고 하시는데

제가 잘 못썻는지 java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference 오류가 나더군요

오류는 getTag 받는 부분을 가리키고 있습니다. getTag 값이 널 포인트 익셉션이 라는것 같은데..

Tag를 처음써 봐서 잘 모르겠네요 

어뎁터 클래스 의 겟뷰 에서  버튼에 태그를 붙여서 
가지고 오려고 했는데 이게 가지고 와지는지 모르겠습니다. 
public View getView(int position, View convertView, ViewGroup parent) {
       pos =  position;
        Button addbutton = (Button) convertView.findViewById(R.id.profile_friendadditionButton);
        addbutton.setTag (position);



    add 버튼 불러 오는 부분 
불러오는 곳은 어댑터 클래스가 아닌 
프래그먼트 클래스에서 불러옵니다.
그리고 이 친구 추가 버튼은 리스트 뷰 안에 있는 버튼이 아닙니다. 
 ------------
|            |
|   listview |
|------------|     대충 이런식.. 리스트뷰 밑에 버튼을 따로 만들었습니다.
| add        |
| -----------|     
 addbutton.setOnClickListener( new Button.OnClickListener() {
                @Override
                public void onClick(View v) {

                
   Integer pos =  Integer.parseInt(v.getTag ().toString ());

어떻게 해야 할까요..

getview 말고 onItemclick에서 받아야 할까요 잘 모르겠네요..

익명사용자 님이 2018년 2월 17일 질문
일단 뭘 하시려는 건지는 대충 알겠네요.
해당 포지션의 리스트를 클릭하면 해당 아이템이 선택된 상태에서 그밑의 순서로 친구를 추가하려는 거지요?
그럼 listView.setOnItemClickListener 라는 기능이 있습니다.
이걸쓰면 인자로 포지션이 들어오니 이걸 써보세요

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...