2017-05-16 10 views
1

각 이미지에 대해 이미지를 삭제할 폴더가있는 폴더의 이미지 축소판을 표시하는 Android Studio에서 갤러리를 만들고 싶습니다. 사용자가 이미지를 클릭하면 또 다른 활동 (인 텐트를 통해)이 전체 화면으로 이미지를 표시합니다.버튼과 세부 활동이있는 Android 이미지 갤러리

저는 사용자 정의 GridView를 사용하고 각 항목 (사용자 정의 클래스)에 ImageView와 ImageButton을 사용할 것을 고려하고있었습니다. 또는 조각을 사용해야합니까 (필자는 사용한 적이 없습니다).

나는 그것에 대해 가장 좋은 방법이 될지 궁금해하고있었습니다.

+1

는 그리드보기를 만들에 당신의 자리처럼 들린다. 클릭 할 때마다 새로운 활동을 시작하십시오. 완벽한 출발 같이 들립니다. 단편으로 이동하는 것은 나중에 발생할 수 있습니다. –

+0

내 GalleryActivity에는 DetailActivity를 시작할 onItemClickListener()가 있어야합니까? 즉, 항목 (ImageView + ImageButton)을 클릭하거나 ImageView 또는 ImageButton을 클릭 할 때를 구분할 수 있습니까? – barouf

+0

@MatthewShearer 어떤 단서가 있습니까? – barouf

답변

1

갤러리 Activity의 어댑터는 GridView이고 어댑터는 차례로 필요합니다. 내부

Adapter 당신이 다음 각보기에 독립 클릭 리스너를 할당하는 것 ImageViewImageButton

으로, 각 뷰를 부풀려 것입니다.

뭔가

같은
public class CustomGridAdapter extends BaseAdapter { 

private Context context; 
private String[] items; 
LayoutInflater inflater; 

public CustomGridAdapter(Context context, String[] items) { 
    this.context = context; 
    this.items = items; 
    inflater = (LayoutInflater) this.context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
} 

public View getView(int position, View convertView, ViewGroup parent) { 

    if (convertView == null) { 
     convertView = inflater.inflate(R.layout.cell, null); 
    } 
    Button button = (Button) convertView.findViewById(R.id.grid_item_button); 
    button.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       // launch activity 
      } 
    }); 

    ImageButton imageButton = (ImageButton) convertView.findViewById(R.id.grid_item_imagebutton); 
    imageButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       // launch activity 
      } 
    }); 
    return convertView; 
} 

@Override 
public int getCount() { 
    return items.length; 
} 

@Override 
public Object getItem(int position) { 
    return items[position]; 
} 

@Override 
public long getItemId(int position) { 
    return position; 
} 
} 
+0

당신은 또한 그리드 레이아웃 관리자와 함께 Recyclerview를 사용하는 것을 고려해야 만하지만, 동일한 원리가 있습니다. –

+0

버튼 및 세부 작업을 시작하는 imageView에 대한 별도의 작업이 이제 작동합니다. 고마워요! – barouf

+0

전혀 문제가 없습니다. –