草庐IT

机型适配

全部标签

android - 测试 RecyclerView 适配器

我有一个基础RecyclerViewAdapter我想独立于我的各种子类进行测试。我如何孤立地做到这一点?我尝试在我的测试类中创建一个精简的VanillaActivity,并使用ActivityTestRule启动它,但不幸的是,测试框架似乎想要启动实际应用程序而不是测试应用程序中的Activity。我不想为此求助于Robolectric,因为我们的团队致力于使用Espresso进行仪器测试。我真正想要测试的是适配器中各种notify方法的行为,因为我看到了崩溃android.support.v7.widget.RecyclerView$Recycler.validateViewHol

java - Android - 如何使适配器布局保持原位

我使用firebase创建了一个简单的聊天应用程序,但在为left和rightbubbleelements时遇到了一些麻烦位置。左边的泡泡给别人,右边的泡泡给我。这是我的适配器:publicclassMessageAdapterCustomextendsRecyclerView.Adapter{privateListmMessageList;privateContextcontext;privateStringmBubblePosition;publicMessageAdapterCustom(Contextcontext,ListmMessageList,StringmBubbleP

android - 从 LiveData.observe() 添加项目到适配器的最佳实践

我有DAO方法返回LiveData>:LiveData>listLiveData=categoryDao.getAll();之后我需要将此数据设置到我的适配器:listLiveData.observe(this,categories->{if(categories==null||categories.isEmpty()){price.setVisibility(View.VISIBLE);recyclerView.setVisibility(View.INVISIBLE);}else{categoryAdapter=newCategoryAdapter(categories);cate

android - Moshi 适配器跳过 List<T> 中的坏对象

我使用Moshi,但我需要用有缺陷的后端来解决我的问题。有时,当我请求对象列表时,其中一些不包含必填字段。当然,我可以捕获并处理JsonDataException,但我想跳过这些对象。我怎样才能用Moshi做到这一点?更新我有几个模型可以完成我的任务@JsonClass(generateAdapter=true)dataclassUser(valname:String,valage:Int?)@JsonClass(generateAdapter=true)dataclassUserList(vallist:List)和错误的JSON{"list":[{"name":"John","ag

Android:从后台线程修改适配器内容

我已经阅读了很多有关使用BaseAdapter时抛出的异常的信息,但我似乎找不到替代解决方案:确保你的适配器的内容没有被后台线程修改我想要实现的是在内存中保留一个消息队列的副本,并使用这个消息队列来填充我的ListView的BaseAdapter。我这样做的原因是即使ListView当前不存在(例如聊天窗口),消息队列也会继续从套接字获取消息。当我的Activity和ListView在前台,BaseAdapter绑定(bind)到消息队列的数据时,问题就来了,一条消息来了在socket中。将新消息加入队列会抛出上述异常。除非我用消息队列预先填充我的BaseAdapter(就像在具有自己

android - 适配器 notifyDataSetChanged 不起作用

编辑2:我确实解决了我的问题,但我不知道如何解决:S我稍微移动了我的代码fragment,突然它起作用了。一定是按错误的顺序做了什么,但很奇怪,检查了很多次。感谢您的帮助,抱歉我无法发布答案;)你好。我有一个ListView,当我向其中添加元素时,我正在尝试刷新以自行更新它底层数组列表。这是代码fragment:privatevoidaddEvent(){arrlEvents.add(event);adptEvents.notifyDataSetChanged();updateSaveFile();filterList();}arrlEvents是带有事件的底层数组列表,我添加了一个事

系统认知篇:防腐层、门面模式及适配模式的本质

作者:京东科技倪新明门面模式和适配器模式是代码级的设计模式,而防腐层本质是一种防御型策略,在更高的层级对系统进行解耦1关于防腐层Anti-CorruptionLayer(ACL)如下:Implementafaçadeoradapterlayerbetweendifferentsubsystemsthatdon'tsharethesamesemantics.Thislayertranslatesrequeststhatonesubsystemmakestotheothersubsystem.Usethispatterntoensurethatanapplication'sdesignisnotl

Android - 分享功能,截图并保存图片到本地相册(适配小米

分享需求:生成二维码,并拼接部分截图到分享弹窗。点击保存按钮则保存图片到本地。步骤:创建弹窗->生成二维码->拿到并拼接截图-展示->获取读写权限->保存bitmap到本地0.创建弹窗dialog_share_live.xmlRelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"android:orientation="vertical"android:layout_width="match_parent

android - AutoCompleteTextView 在适配器更改时隐藏和显示下拉列表

我有一个AutoCompleteTextView,它从带有AsyncTask的API获取建议。在onPostExecute中,我创建了一个新适配器,将其设置为AutoCompleteTextView并将数据集更改通知适配器。我在TextWatcher中执行AsyncTask。除了每次更改适配器时都会关闭和显示下拉菜单外,一切正常。如何在数据发生变化时保持下拉菜单打开?searchText.addTextChangedListener(newTextWatcher(){@OverridepublicvoidonTextChanged(CharSequences,intstart,intb

android - 使用绑定(bind)服务的自定义适配器 - 何时取消绑定(bind)?

设置:将数据馈送到ListView的自定义适配器。数据基于外部服务计算的一些数字。我正在使用AIDL绑定(bind)服务并获取我需要的数据。问题:我怎么知道什么时候解除绑定(bind)服务?连接对适配器本身是私有(private)的,检测整个应用程序正在关闭的唯一方法是覆盖unregisterDataSetObserver。或者至少我没有找到另一种方法,而这个方法使用内容提供者+内容观察器与同一个适配器配合得很好。虽然不适用于AIDL-我遇到了ServiceConnectionLeaked错误。我知道我可以向我的适配器添加一个“unbindFromService”方法并从我的Activ