2011-09-15 12 views
0

내 화면에 동적 목록 뷰를 표시했습니다. listview에는 eack 행에 두 개의 버튼이 있습니다. 두 버튼 모두에서 클릭 이벤트를 처리하고 싶습니다. 내 목록보기에 50-60 행이 있습니다. 이제 행의 버튼 중 하나를 클릭하면 listview의 첫 번째 행의 위치를 ​​차지할 것입니다. 그래서 내 문제는 내가 클릭 한 행의 완벽한 위치를 얻어야한다는 것입니다. 나는 baseadapter를 사용했지만 각 행에서 한 번의 클릭 이벤트 만 처리 할 수 ​​있습니다.Android listview 위치 및 클릭 이벤트 핸들 문제

이 문제에 대한 힌트를 제공하십시오.

+0

이 어댑터 코드를 넣습니다. – Ronnie

+0

@harsh http://pareshnmayani.wordpress.com/tag/android-custom-listview- 예/ –

+0

@harsh이 예제에서는 각 목록보기 항목에 컨트롤을 설정할 수 있으며 위치는 clickevent를 처리하기로 결정합니다. –

답변

1

공용 클래스 MovietListAdapter는 BaseAdapter {

공개 INT getCount() { 복귀 _languagechange 확장; }

public Object getItem(int position) { 
     return position; 
    } 

    public long getItemId(int position) { 
     return position; 
    } 

공공보기의 getView (최종 INT 위치보기 convertView, 뷰 그룹 부모) { 보기 V; LayoutInflater vi = (LayoutInflater) getSystemService (Context.LAYOUT_INFLATER_SERVICE); v = vi.inflate (R.layout.movielistdesign, null); ImageView iv = (ImageView) v.findViewById (R.id.icon);

 iv.setImageDrawable(mLoader.getDrawble(position)); 
     iv.setPadding(1, 1, 1, 1); 
     ImageView star = (ImageView) v.findViewById(R.id.starrating); 

star.setOnClickListener (새 View.OnClickListener() {

  public void onClick(View v) { 
       Bundle bundle = new Bundle(); 
       bundle.putString("param1", mLoader.ds1.movie_ids[position]); 
       bundle.putString("param2", 
         mLoader.ds1.movie_titles[position]); 
       bundle.putString("param3", 
         mLoader.ds1.movie_thumbnailarray[position]); 
       bundle.putString("param4", 
         mLoader.ds1.movie_descarray[position]); 
       bundle.putString("param5", 
         mLoader.ds1.movie_rating[position]);