我刚开始使用IntelliJ IDEA并完成了自动代码清理选项.它让我可以选择删除不需要的白线,但我找不到一个选项来自动删除不需要的中断,例如:
System.out.println("this, sir "
+ "is an unneeded line break");
这个功能是否存在,如果是,在哪里?
我在Playstore上发布了一个应用程序,并在我的gradle构建中意外地使用了版本号9999999进行测试.所以现在我的应用程序发布了该版本,我不能减少它,否则谷歌播放开发者控制台将抱怨.此外,我无法从Play商店中删除该应用程序,因为它已经发布.所以我必须使用不同的包名并创建一个新的应用程序(我真的不想要)或者我必须以某种方式重置版本号.
这有可能吗?我这里还有其他选择吗?
设置我RecyclerView
有一个自定义适配器和自定义ViewHolder
s.
我知道onCreateViewHolder()
当RecyclerView
ViewHolders用完后回收并需要一个新方法时会调用该方法.所以我只是在那里给布局充气并将其传递给新的布局ViewHolder.
此外,onBindViewHolder()
负责在创建或回收ViewHolder
新数据后立即填写数据.所以我在那里做的是调用我的方法将数据对象传递给.ViewHolder
RecyclerView
holder.setNode()
ViewHolder
我看到的行为当活动首次启动时,所有条目都是正确的.但是,当我添加新条目或删除现有条目时,事情开始变得有趣.
title
TextView
始终设置正确RecyclerView
正在重用旧版面所以我想知道:onBindViewHolder()
一旦视图重用,为什么这些值不会改变?或者,如果我错了,布局随机切换的真正原因是什么?
class TaskListAdapter extends RecyclerView.Adapter<TaskListAdapter.TaskViewHolder> {
private ArrayList<NodeHandler.DbNode> dbNodeList = new ArrayList<>();
...
@Override
public TaskViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.small_task_view, parent, false);
return new TaskViewHolder(v);
}
@Override
public void onBindViewHolder(TaskViewHolder holder, int position) {
final NodeHandler.DbNode dbNode = dbNodeList.get(position);
holder.setNode(dbNode);
holder.wrapper.findViewById(R.id.card_details).setVisibility(View.GONE); …
Run Code Online (Sandbox Code Playgroud)