2012-04-13 4 views
0

ListView 안에있는 이미지를 가로 스크롤 할 수 있도록 GalleryListVview에 끼워 넣는 방법을 알려줄 사람이 있습니까?갤러리를 ListView에 포함 하시겠습니까?

+1

'ListView '안에'갤러리'를 놓을 수 없습니다. – adneal

+0

나중에 나는 당신과 동의합니다 ... 그게 어떤 해결책을 내게 전화를 해줄 것입니다, 같은 ... 달성하는 모든 데이터는 모든 데이터가 동적입니다. – KKC

답변

0

Listview가 필요합니까? 아마도 LinearLayout (수직)을 ScrollView 안에 배치 할 수 있습니까?

+0

선형 레이아웃과 스크롤 뷰를 사용하려고했지만 내 요구 사항에 유용하지 않았습니다 ... 실제로 피드에서 데이터를 가져 오는 중이므로 모든 것이 동적입니다. – KKC

+0

복잡한 레이아웃 요구 사항에 대해 ListView를 사용해 본 적이별로 없습니다. ScrollView 및 LinearLayout을 사용하여 데이터를 유지하는 것이보다 유연하다는 것을 알게되었습니다. 이 방법을 사용하면 평소와 같이 어댑터를 사용할 수 없지만 일단 데이터 처리를 구현하면 코드 레이아웃 문제가 더 쉽게 처리됩니다. –

+0

제안 해 주신 것에 대해 감사드립니다. 전 완전히 동의합니다. 그러나 내 데이터가 동적 인만큼 데이터가 얼마나 많이 올지 모르겠다. 그래서 listview에 대해 생각해 봤지만 어쨌든 다른 솔루션을 제공 할 것입니다. 같은 것을하기. – KKC

3

게시물 this을 확인하십시오, 그것은 나를 위해 일했습니다.

  • 내가 데이터로 채우하는 ArrayAdapter를 사용하는 ListActivity을 다음과 같이

    내 설정이다.

  • 내 XML 리소스 list_item에는 ImageView, TextView 및 갤러리가 포함되어 있습니다.
  • 나는 (당신이 일반적으로 목록 항목 클릭을 처리 할 것.) 행에 OnClickListener를 추가
  • 은 그 때 나는
  • 내가
  • I를 보내 주시면 처리하는 갤러리에 GestureListener를 추가 갤러리 용 어댑터 설정

    private static final int SWIPE_MAX_OFF_PATH = 250; 
    private GestureDetector gestureDetector; 
    private OnTouchListener gestureListener; 
    private Gallery picGallery; 
    
    ... 
    
    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
    
        View row = convertView; 
    
        /* Holder pattern here, commented out for clarity */ 
    
        // We need to set the onClickListener here to make sure that 
        // the row can also be clicked, in addition to the gallery photos 
        row.setOnClickListener(new MyOnClickListener(context,position)); 
    
        // Set the adapter for the gallery 
        picGallery = (Gallery) row.findViewById(R.id.gallery); 
        picGallery.setAdapter(
           new MyGalleryAdapter(/* some input data here to populate the gallery */)); 
    
        // GestureDetector to detect swipes on the gallery 
        gestureDetector = new GestureDetector(new MyGestureDetector()); 
        gestureListener = new View.OnTouchListener() { 
         public boolean onTouch(View v, MotionEvent event) { 
          return gestureDetector.onTouchEvent(event); 
         } 
        }; 
    
        // Detect clicking an image 
        picGallery.setOnItemClickListener(new MyOnItemClickListener(context)); 
    
        // Detect swipes 
        picGallery.setOnTouchListener(gestureListener); 
    
        return row; 
    } 
    
    ... 
    
    private class MyGestureDetector extends SimpleOnGestureListener { 
        @Override 
        public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { 
         try { 
          if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH) 
           return false; 
         } catch (Exception e) { 
          // nothing 
         } 
         return false; 
        } 
    
    } 
    
    ... 
    
    private class MyOnItemClickListener implements OnItemClickListener{  
        private Context context; 
    
        public MyOnItemClickListener(Context context){ 
         this.context = context; 
        } 
    
        @Override 
        public void onItemClick(AdapterView<?> parent, View view, int position, 
          long id) { 
         Intent intent = new Intent(context, PhotoDetailActivity.class); 
         intent.putExtra("id", id); 
         context.startActivity(intent); 
    
        } 
    
    } 
    
    : 나는 다음을 수행 내 ArrayAdapter에서

갤러리에서 이미지를 클릭 처리하기 위해 갤러리에 OnItemClickListener를 추가

관련 문제