2012-05-11 11 views
1

私はimageviewとtextviewでギャラリーウィジェットを使用しています。私は、galleryviewのsetonitemclicklistenerにすることができますが、私はimageviewのclicklistenerを設定したいと思います。設定しようとすると、galleryviewのスクロールが機能しません。imageviewのitemclicklistenerを設定すると、ギャラリービューのスクロールが機能しません。

public class AddImgAdp extends BaseAdapter { 

    int GalItemBg; 
    private Context cont; 

    private String[] mImageURLs = { 
      "http://www.example1.com", 
      "http://www.example2.com", 
      "http://www.example3.com", 
      "http://www.example4.com", 
      "http://www.example5.com", 
      "http://www.example6.com" 
    }; 


    public AddImgAdp(Context c) { 
     cont = c; 
     TypedArray typArray = obtainStyledAttributes(R.styleable.GalleryTheme); 
     GalItemBg = typArray.getResourceId(
       R.styleable.GalleryTheme_android_galleryItemBackground, 0); 
     typArray.recycle(); 
    } 

    public int getCount() { 
     return Imgid.length; 
    } 

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

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

    public View getView(final int position, View convertView, ViewGroup parent) { 
     //final ViewHolder holder; 
     LayoutInflater li = getLayoutInflater(); 
     View v = li.inflate(R.layout.menusliderinflate, null); 
     v.setPadding(15, 0, 15, 0); 
     int score = getLevelScore(position + 1); 
     Adpimgview = (ImageView) v.findViewById(R.id.level4image); 
     TextView scoreView = (TextView) v.findViewById(R.id.level4score); 
     RelativeLayout holder=(RelativeLayout)v.findViewById(R.id.FrameLayout01); 

     if (score > 0) { 
      scoreView.setText(score + "/18"); 
      Adpimgview.setBackgroundColor(Color.parseColor("#FAAE67")); 
     } else { 
      scoreView.setVisibility(View.GONE); 
      if(position!=0)Adpimgview.setAlpha(100); 
     } 

     Adpimgview.setImageResource(Imgid[position]); 

     Adpimgview.setTag(mImageURLs[position]); 
     Log.d("dd","Inside adapter" + mImageURLs[position]); 

     Adpimgview.setScaleType(ImageView.ScaleType.FIT_XY); 

     // imgView.setLayoutParams(new 
     // Gallery.LayoutParams(LayoutParams.WRAP_CONTENT, 
     // LayoutParams.WRAP_CONTENT)); 

はここで私はgalleryviewに膨張さImageViewのためonitemclicklistener設定ImageViewの

 Adpimgview.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       WorldSelected = position + 1; 
       Log.d("dd","world selected"+WorldSelected); 
       levelLayout.setVisibility(View.VISIBLE); 
       outerLayout.setBackgroundResource(R.drawable.levelbackground); 
       worldLayout.setVisibility(View.GONE); 
       backmenulayout.setVisibility(View.VISIBLE); 
       defaultmenulayout.setVisibility(View.GONE); 
       updateScore(position + 1); 

       onWorldItemClick(); 
      } 
     }); 


     // imgView.setBackgroundResource(GalItemBg); 

     return v; 
    } 

にonclicklistener設定し、Galleryviewのスクロールは

+0

xmlレイアウトのどこにでもandroid:clickable = "true"を設定している場合は、この行をすべての場所から削除します。 –

+0

いいえ、私は設定しませんでした。 – Kalai

+0

あなたが使用している任意のビューのontouchリスナー。 –

答えて

0

がするのではなく、ギャラリーウィジェット上setOnItemClickListenerを追加動作していませんgetView()メソッド。 OnItemClickブロックに

Gallery.setOnItemClickListener(this); 

置きますgetView() onclickのコード。

@Override 
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
      WorldSelected = position + 1; 
      Log.d("dd","world selected"+WorldSelected); 
      levelLayout.setVisibility(View.VISIBLE); 
      outerLayout.setBackgroundResource(R.drawable.levelbackground); 
      worldLayout.setVisibility(View.GONE); 
      backmenulayout.setVisibility(View.VISIBLE); 
      defaultmenulayout.setVisibility(View.GONE); 
      updateScore(position + 1); 

      onWorldItemClick(); 

    } 

正しく理解してください。

+0

私はあなたの会社からインタビューの電話を受けました。明日2時半に – Pankaj

関連する問題