Android 如何在listview项中设置gridview,并使用uniq位置单击每个网格项,然后单击evant
我想在列表视图中使用图像网格日期。首先获取图像的日期列表,然后获取特定日期图像列表的图像路径列表。最后填充特定日期图像的列表和网格(图像数量和日期不固定),查看屏幕截图。 现在我的问题是,当我在图像上设置click listener并在click上添加复选标记image,然后在两个位置添加image时,为什么我不知道。第二个问题是当我向下滚动列表视图时,复选标记visible消失了 我想选择多个图像并添加复选标记图像,并执行“删除图像”和“共享图像”等操作 我调用每个列表项的网格适配器,看看我的代码,告诉我出了什么问题 自定义列表视图适配器:获取视图方法Android 如何在listview项中设置gridview,并使用uniq位置单击每个网格项,然后单击evant,android,android-layout,listview,gridview,Android,Android Layout,Listview,Gridview,我想在列表视图中使用图像网格日期。首先获取图像的日期列表,然后获取特定日期图像列表的图像路径列表。最后填充特定日期图像的列表和网格(图像数量和日期不固定),查看屏幕截图。 现在我的问题是,当我在图像上设置click listener并在click上添加复选标记image,然后在两个位置添加image时,为什么我不知道。第二个问题是当我向下滚动列表视图时,复选标记visible消失了 我想选择多个图像并添加复选标记图像,并执行“删除图像”和“共享图像”等操作 我调用每个列表项的网格适配器,看看
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View row = convertView;
ViewHolder viewHolder = new ViewHolder();
DateSortedImageItem item = getItem(position);
if (row == null) {
row = mInflator.inflate(R.layout.row_date_sorted_image_list, parent, false);
viewHolder.tv_date = (TextView) row.findViewById(R.id.tv_row_date);
viewHolder.rowGridView = (GridView) row.findViewById(R.id.gv_row_item);
viewHolder.tv_date.setText(item.getDate());
row.setTag(viewHolder);
gridAdapter = new GridAdapter(context, R.layout.row_sorted_image_gridview_item,
item.getDateSortedImageList(), position);
viewHolder.rowGridView.setAdapter(gridAdapter);
} else {
row.getTag();
}
return row;
}
private class ViewHolder {
TextView tv_date;
GridView rowGridView;
}
我的网格适配器代码是:
public View getView(final int position, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater mInflater = ((Activity) getContext()).getLayoutInflater();
convertView = mInflater.inflate(R.layout.row_sorted_image_gridview_item, parent, false);
}
view = convertView;
final SquareImageView imageView = (SquareImageView) view.findViewById(R.id.iv_test_row_grid_img);
final ImageView iv_checked = (ImageView) view.findViewById(R.id.iv_checked);
final ImageView iv_unChecked = (ImageView) view.findViewById(R.id.iv_unchecked);
view.setTag(arrList.get(position).toString());
File f = new File(arrList.get(position).toString());
System.out.println("arrList size >>" + arrList.size());
Picasso.with(context).load(Uri.fromFile(f)).resize(100, 100).centerCrop().placeholder(R.drawable.ic_launcher)
.error(R.drawable.ic_close_black).into(imageView);
我刚刚设置了网格视图图像。现在我设置了imageview,单击ivent并添加复选标记,然后在两个位置添加复选标记事件,然后向下滚动,然后可见
什么是错误的,以及如何将图像视图的单击事件设置为唯一。
最后,我想设计一款看起来像谷歌“照片”的应用程序。
向我推荐任何示例或库:首先,您应该创建一个
POJO
,如下所示
public class AlbumItem {
private String headerStr;
private List<ChildItem> children;
//getter - setter....
public class ChildItem {
private String childName;
private boolean isSelected;
//getter - setter.....
}
}
公共类项目{
私人线头;
私人名单儿童;
//getter-setter。。。。
公共类子项{
私有字符串childName;
私人选举;
//getter-setter。。。。。
}
}
现在在主适配器中使用此POJO
在第二个适配器句柄中,选择逻辑意味着如果isSelected
为真,则显示iv_checked
,否则显示iv_checked
如果你需要进一步解释,请告诉我
希望它能帮助你 首先,您应该创建一个
POJO
,如下所示
public class AlbumItem {
private String headerStr;
private List<ChildItem> children;
//getter - setter....
public class ChildItem {
private String childName;
private boolean isSelected;
//getter - setter.....
}
}
公共类项目{
私人线头;
私人名单儿童;
//getter-setter。。。。
公共类子项{
私有字符串childName;
私人选举;
//getter-setter。。。。。
}
}
现在在主适配器中使用此POJO
在第二个适配器句柄中,选择逻辑意味着如果isSelected
为真,则显示iv_checked
,否则显示iv_checked
如果你需要进一步解释,请告诉我
希望它能帮助你