我想在android studio中创建一个图库,它会在一个文件夹中显示图像的缩略图,每个图像都有一个删除图像的按钮。当单击图像时,它会触发另一个活动(通过意图)以全屏显示图像。
我正在考虑使用自定义GridView,并为每个项目(自定义类)使用ImageView和ImageButton。或者我应该使用片段(我从未使用过它们)。
我想知道最好的方法是什么。
答案 0 :(得分:1)
您的图库Activity
会有一个GridView
,而这又需要一个适配器。
在Adapter
内,您会通过ImageView
和ImageButton
然后,您将为每个视图分配独立的点击侦听器。
类似
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;
}
}