2011-07-29 16 views
1

私はサムネイルとテキストを隣り合わせに並べたリストビューを持っています。 私は各リスト項目にonClicklistnerを追加する方法を理解しようとしているので、ユーザーがテキストまたはサムネイルを選択すると、完全な画像がポップアップします。以下は私のリストオブジェクトとアダプタとlazyAdapterコードです。リストビュー項目にonClickListenerを追加する

MainActivity:

list=(ListView)findViewById(R.id.list); 
adapter=new LazyAdapter(this, mStrings, mImages); 
list.setAdapter(adapter); 

LazyAdapter:

public View getView(int position, View convertView, ViewGroup parent) { 
     View vi=convertView; 
     if(convertView==null) 
      vi = inflater.inflate(R.layout.item, null); 

    TextView text=(TextView)vi.findViewById(R.id.text);; 
    ImageView image=(ImageView)vi.findViewById(R.id.image); 
    text.setText(image_name[position]); 
    imageLoader.DisplayImage(data[position], activity, image); 
    return vi; 
} 

EDIT これは私が使用して終了するものです。

   list.setOnItemClickListener(new OnItemClickListener() { 
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3){ 
         Toast.makeText(MainActivity.this, "Show Full Image", Toast.LENGTH_LONG).show(); 
        } 
       }); 
+0

**各**アイテムにリスナーを登録する具体的な理由はありますか? – user802421

答えて

4

OnItemClickListenermStringsmImagesを使用できます。 LazyAdapterから配列であると仮定します。多分このようなものを試すことができます。

list.setOnItemClickListener(new OnItemClickListener() { 
    public void onItemClick(AdapterView<?> parent, View v, int position, long id) { 
     String text = mStrings[position]; 
     YourImageClass img = mImages[position]; 
     Intent i = new Intent(MainActivity.this, ShowFullImageActivity.class); 
     i.putExtra("TEXT", text); 
     i.putExtra("IMAGE", img); // <-- Assumed you image is Parcelable 
     startActivity(i); 
    } 
} 
2

AdapterView.OnItemClickListenerを実装するのに役立つ可能性があります。

詳細はこちらhttp://developer.android.com/guide/topics/ui/binding.htmlをご覧ください。

メモこれはListViewの各行で使用され、各行の個々のTextViewまたはImageViewでは使用されません。

関連する問題