2011-09-15 10 views
0

私は自分の画面に動的リストビューを表示しました。 listviewには、eack行に2つのボタンがあります。両方のボタンでクリックイベントを処理したい私はリストビューに50〜60行あります。行のボタンのどれかをクリックすると、リストビューの最初の行の位置になります。だから私の問題は、私はクリックされた行の完璧な位置を取得する必要があるということです。私はbaseadapterを使用しましたが、私は各行で1回のクリックイベントしか処理できません。Androidリストビューの位置とクリックイベントハンドルの問題

ですから、この問題についていくつかのヒントを与えてください。

+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、 のViewGroup親){ ビューV。 LayoutInflater vi =(LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); v = vi.inflate(R.layout.movi​​elistdesign、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]); 
関連する問題