我想创建一个项目列表使用回收人员视图,并想展开特定项目时点击(如在电话呼叫列表)。我想实现这一点,而不使用任何库。有人能帮忙吗?
获取子数据列表作为数据集中父数据的成员。在RecyclerView行的点击事件中,像这样使用它们。。这里mdataSet
是RecyclerView的主要数据集
final TitleHolder holder = (TitleHolder) h;
final Model model = (Model) mdataSet.get(position);
holder.txt_title.setText(model.getTitle());
holder.childItem = model;
holder.txt_title.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (model.getChildList() == null) {
//collapse
((Model) mdataSet.get(mdataSet.indexOf(holder.childItem))).isExpanded = false;
holder.arrow.startAnimation(AnimationUtils.loadAnimation(context, R.anim.arrow_reverse));
model.childList = new ArrayList<ModelData>();
int count = 0;
int pos = mdataSet.indexOf(holder.childItem);
while (mdataSet.size() > pos + 1 && mdataSet.get(pos + 1).type == Model.VIEW_CHILD) {
model.childList.add((ModelData) mdataSet.remove(pos + 1));
count++;
}
notifyItemRangeRemoved(pos + 1, count);
} else {
//expand
((Model) mdataSet.get(mdataSet.indexOf(holder.childItem))).isExpanded = true;
holder.arrow.startAnimation(AnimationUtils.loadAnimation(context, R.anim.arrow));
int pos = mdataSet.indexOf(holder.childItem);
int index = pos + 1;
for (ModelData i : model.getChildList()) {
mdataSet.add(index, i);
index++;
}
notifyItemRangeInserted(pos + 1, index - pos - 1);
model.childList = null;
}
}
});
if (((Model) mdataSet.get(mdataSet.indexOf(holder.childItem))).isExpanded) {
holder.arrow.startAnimation(AnimationUtils.loadAnimation(context, R.anim.arrow));
}
在这里,我将再次在点击txt_title
的事件中将子数据添加到主数据集,使用title(父)
和data(子)
作为两种不同的视图类型,如下所示
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
if (viewType == VIEW_TITLE) {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.list_expand_title, parent, false);
return new TitleHolder(itemView);
} else {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.row_wallet_history, parent, false);
return new DataHolder(itemView);
}
}
或
如果你的子视图被修复(你想展开/折叠),然后将它们包装在布局中,并使布局可见/消失动画,以实现展开折叠效果请参考此链接使它们动画
问题内容: 在我的一个应用程序中,我使用下面的代码片段将上传的图像复制到目录中。它可以正常工作,但是复制大图像(> 2MB)会花费比理想时间更多的时间,而且我真的不需要这么大的图像,因此,我正在寻找一种调整图像大小的方法。如何使用PHP实现呢? 问题答案: 最后,我发现了一种适合我需求的方法。以下代码段会将图像调整为指定的宽度,并自动计算高度以保持比例。 对于寻求完整示例的其他任何人,请创建两个文
问题内容: 如何在 不使用第三方库的情况下使用 Node.js下载文件? 我不需要什么特别的东西。我只想从给定的URL下载文件,然后将其保存到给定的目录。 问题答案: 您可以创建一个HTTP 请求并将其通过管道传递到可写文件流中: 如果要支持在命令行上收集信息(例如指定目标文件或目录或URL),请查看Commander之类的内容。
问题内容: 我想知道是否可以在没有支持库的情况下使用FragmentStatePagerAdapter类或其等效类? 我知道如何使用本机片段代替支持库中的本机片段,许多其他类也具有类似的等效项,但是我找不到代替该类的内容。 我基本上想扩展它以便在我的适配器中使用,就像这样 问题答案: 我想您已经阅读了 docs,但以防万一: 该课程目前正在早期设计和开发中。该API可能会在以后的兼容性库更新中更改
问题内容: 如何在不使用NetBeans等IDE的情况下在Java程序中导入库?在Netbeans中,我这样做:在此处输入图片说明 仅使用记事本++或程序员的记事本,我怎么能达到相同的目的。我不想使用Netbeans,因为 我只从事简单的项目,所以这可能会过分杀人。 问题答案: javac -classpath external.jar myClass.java 编辑: 如果您的主要班级在包裹中
问题内容: 我正在开发一个网站,用户使用ajax,php和POST方法提交凭据,我想保护登录凭据的格式不是纯文本,但我不想使用SSL我可以在不使用SSL证书的情况下保护密码凭据吗? 谁能给我任何方法的工作示例? 问题答案: 没有一些通道外验证(SSL提供),您将无法完全保护凭据。一个在中间攻击的人永远是可能的。 简而言之,客户端无法完全确定他们正在与服务器通信,而不是在两者之间插入假服务器。
我遵循了本页中第一个可能的解决方案:检查kubernetes pod CPU和内存 我试过命令: Kubectl执行pod_name-- /bin/bash 但是它不起作用,因此我尝试了这个命令: kubectl exec-n[namespace][pod_name]--目录测试.log 我知道这一点,因为当我运行该命令时: kubectl获取pods--所有名称空间|grep[pod_name]