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

안드로이드 ArrayAdater 질문

0 추천
제가 지금 리스트뷰를 getview로 만들어서 하고 있는데요..

 

음 일단 소스는

ArrayAdater 쪽은

public View getView(int position, View convertview, ViewGroup parent){

View v = convertview;

if(v==null){

LayoutInflater li = (LayoutInflater)con.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

v=li.inflate(R.layout.cardlistview, null);

 

viewHolder = new ViewHolder();

 

viewHolder.txt2 = (TextView)v.findViewById(R.id.txt_CardUseList);

viewHolder.txt = (TextView)v.findViewById(R.id.txt_CardNumList);

viewHolder.img_card = (ImageView)v.findViewById(R.id.img_CardTypel);

viewHolder.rl = (RelativeLayout)v.findViewById(R.id.lists);

viewHolder.ListViewLongClick = (ListViewLongClick)v.findViewById(R.id.view_View);

 

v.setTag(viewHolder);

}else{

viewHolder = (ViewHolder)v.getTag();

}

viewHolder.txt.setText(cardList.get(position));

 

viewHolder.txt2.setText(payCount.get(position)+"");

 

viewHolder.img_card.setImageResource(cardType.get(position));

 

viewHolder.ListViewLongClick.setVisibility(v.GONE);

 

return v;

}

}

 

class ViewHolder{

RelativeLayout rl = null;

TextView txt = null, txt2=null;

ImageView img_card = null;

ListViewLongClick ListViewLongClick=null;

 

}

 

 

main쪽은

 

list.setAdapter(cardAdapter);

 

list.setOnItemLongClickListener(new OnItemLongClickListener(){

@Override

public boolean onItemLongClick(AdapterView<?> arg0, View v,

int position, long id) {

ListView listView = (ListView)arg0;

String cardNum = (String) listView.getItemAtPosition(position);

Toast.makeText(CardManagerActivity.this, cardNum, Toast.LENGTH_LONG).show();

return true;

}

});

 

이렇습니다..

 

첫번째 질문이 getItemAtPosition(position) 이부분이 왜

txt값만 가져오는지 알수가없네요 txt2나 다른값들이 올수 있는데 왜 구지 txt값만 가져오나요...

 

이걸 해결 해주신다면 지금 저는 해당 쪽을 LongClick했을 때 그 부분은 알파값으로 처리하고 싶은데.. 이안에잇는 txt나 이미지들도 다같이 알파로.. setAlpha로 하고 싶은데 이것도 해결해주실분 없나요..

setTag getTag 하라는데.. 어차피 그건 그 list의 전체값이지않나요 저코드서

viewHolder.txt.setTag(position); 하고 이벤트서 TextView T = (TextView)viewHolder.txt.getTag(해당 position값);을 줘도 null만뜨고... 왜그런걸까요..
tkadks1 (230 포인트) 님이 2015년 1월 27일 질문

1개의 답변

0 추천

onItemLongClick() 에서 두번째 인자로 넘어온 v를 ViewHolder로 캐스팅해서 해보심은?

Gradler (109,780 포인트) 님이 2015년 1월 27일 답변
...