2017-04-10 6 views
-2
  • 에서 클릭 lvResults
  • 내가 ListView에 대한 등록 사용자 ArrayAdapter와 있습니다은 내가 ListView에있는 목록보기 (안드로이드)

    lvResults.setAdapter (ArrayAdapter와를);

  • 어댑터에는 마지막 아이콘이있는 4 개의 요소가 있습니다.

  • 어댑터에는 public View getView(int position, View convertView, ViewGroup parent) 메서드가 있으며 모든 행에 대해 뷰를 만듭니다.

행은 결국 다음과 같습니다 enter image description here

이미지 (worldicon)이 클릭되었는지 어떻게 확인할 수 있습니까?

은 내가 onItemClick 방법이 시도 시작했지만, 나는 단서가 없다 :

lvResults.setOnItemClickListener(new OnItemClickListener() { 

    @Override 
    public void onItemClick(AdapterView<?> adapter, View v, int position, long id) { 
    } 

}); 

누군가가 도와 줄 수 있습니까?

+0

Plz 제안을하기 전에 질문자의 질문에 답하지 마십시오 –

+0

감사합니다. Ravindra. 나를 위해 이해할 수없는, 왜 그들이 downvote. downvoters, 제발 왜 downvoted 논쟁하십시오. –

+0

아마도 하향 투표는 답을주는 것보다 훨씬 쉽습니다. P –

답변

3

사용자 정의 어댑터에서 getView() 방법으로 Holder을 사용하고 onClickListerImageView으로 설정하십시오. 다음 코드를 사용해보십시오.

public class Holder 
{ 
    ImageView world; 
} 
@Override 
public View getView(final int position, View convertView, ViewGroup parent) { 
    // TODO Auto-generated method stub 
    final Holder holder=new Holder(); 
    View rowView;  
     rowView = inflater.inflate(R.layout.single_row, null); 
     holder.world = (ImageView) rowView.findViewById(R.id.world_icon); 

    holder.world.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
       // do your onClick action here 
     } 
    });  

    return rowView; 
} 

희망이 있습니다.

+0

upvoted. 귀하의 답변은 4 분 일찍, 당신 말이 맞습니다. 죄송합니다. –

0

세계 아이콘에 onclick 리스너를 추가하려는 경우. 커스텀 어댑터 자체에서 월드 아이콘의 imageview에 onclick 리스너를 추가해야합니다. imageview에 ID 또는 태그를 지정하여 클릭 한 세계 아이콘을 식별 할 수 있습니다.

2

어레이 어댑터에서 해당 이미지 뷰에 onclick 수신기를 추가하십시오. itemview 클릭 리스너는 항목의 개별 요소를 식별 할 수 없습니다.

public View getView(final int position, View convertView, ViewGroup parent) { 
     ViewHolder holder = new ViewHolder(); 

      convertView = layoutInflater.inflate(layout.your_layout,null); 
      holder.worldImage = (ImageView) convertView.findViewById(id.world_image); 
holder.worldImage.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
      // perform necessary action 
      } 
     }); 
+0

감사합니다. 그리고 해당 액티비티에 알리기 위해 액티비티를 먼저 어댑터에 설정해야합니다. 도와 줘서 고마워. –

+0

죄송합니다. 바로 Tahsinrupan이 더 일찍 깨달았습니다. 하지만 여전히 upvoted :-) –

+0

그 ok ....... :) –