依赖:要不你还是把我删了吧
一、先这样后这样,一节课就这么过去了。
可恶,只能CV苏喂的博客了吗!
①RecyclerView
精简的概括:layout、ViewHolder、Adapter;添加依赖,准备数据源……
②Datastore
就是比SharedPreferences好用就是了,虽然我SharePreferences也不大会用……
③MVC和代码规范
恕我没听懂,所以MVC到底是什么,怎么用,具体操作如何……但是代码规范听懂了,但是这会让42号混凝土拌意大利面更好吃吗?
二、你知道这个星期我是怎么过来的吗!
不好意思,我先把掉的头发清理一下……由于课上实在是听不懂,为了完成这次作业,在网上自学花费的时间出奇地多。
①尝试理解学长的博客
理解的过程是枯燥无聊且毫无成就感的,感觉像砍pdd似得——“您通过两个小时的学习已经有学成概率50%了,再连续签到两个小时吧 ~ ”最终结果是什么呢?没错,已经猪脑过载,理解不能了。尝试把学长的代码CV下来,居然还出现了十几个红色感叹号……不管了,先写布局文件。
②RelativeLayout解决FloatingActionButton无法float的问题
充分利用网络资源学习了RelativeLayout下的布局方法,实现了控件重叠,这界面不一下子就高级起来了吗。是谁说的用LinnerLayout就够用了?
③CSDN,你是我的神!
博客上的代码第一步”依赖“就卡住了,扒下来sync一下就冒红字,当然更跑不起来了……于是乎我决定把CV来的代码全部删掉——不过并不是良心发现要自己写,而是要换个CV来源。bing搜索RecyclerView蹦出来的第一个便是救我于水火的CSDN博文((2条消息) Android RecyclerView最全使用详解Teacher.Hu的博客-CSDN博客recyclerview)我这才知道,原来我的AS已经足够自立,不需要依赖谁了。而且把里面的代码CV下来居然只有两个红色感叹号!鼠标点点小灯泡就解决了。
④工程师思维,工程师最好的借口,工程师最烂的做法
这篇CSDN博文是真的详细,甚至知道这次作业需要我实现什么功能。虽然看不懂,但我的工程师思维还是帮助了我把有用的代码CV下来,轻松实现”添加“这一功能。不过正当我以为捡到武林秘籍而作业大成时,又遇到了不小的麻烦——”删除“功能如何实现?
Button button1 = findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mNewsList.remove(0);
mMyAdapter.notifyItemMoved(0,1);
}
});
//————————————————
//上为文章的原代码,删除mNewsList确定位置的Item,但是CV到我这边后点击button1后却直接闪退。
我的目的是删除我要删除的位置的Item,现在连确定位置的删不掉怎么可以,于是我又开始寻找删除Item的方法——然后我就发现了和notifyItemMoved( , )长得很像的notifyItemRemoved()。”删除“实现了,可是我发现删除之后下方的其他Item删除不正常,利用Toast显示position后发现是删除之后其他Item的position未更新,于是从网上扒下来了局部更新的方法。
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
News news = mNewsList.get(position);
holder.mTitleTv.setText(news.title);
holder.mTitleContent.setText(news.content);
holder.mdelete.setOnClickListener(v -> {
mNewsList.remove(position);
notifyItemRemoved(position);
if (position != mNewsList.size()) {
notifyItemRangeChanged(position, mNewsList.size() - position);
}
});
}
//————————————————
//上为我的代码,有删除的动画效果,点击Item里的(Button)mdelete即可删除这条Item,总体效果我很满意。
⑤细节?
对不起,我还有四项作业没有做,要不您先凑活看?