我正在开发遵循MVP架构的项目.通常,当我使用recyclerView时,我的演示者控制适配器数据.但是现在我需要使用来自缓存(或类似缓存的数据)的数据制作回收器适配器,回收器的大小不依赖于缓存大小,所以我通过HashMap进行缓存,其中密钥是 - 回收器的位置,如果有一个项目然后数据显示地图,否则空行与"添加事件"btn.我无法意识到这种结构中缓存的位置 - 模型(Dao或类似CacheManager)或适配器.
缓存的想法如下:我有一些类型的事件存储在数据库中,每个事件修改都在db中更改它 - 所以缓存也必须更新.
主要问题是:在哪里保留此缓存并将其加载到适配器,如何使其与数据库更改保持同步.
PS我也尝试使用RX,所以如果可以用它来解决 - 试试会很有趣.
PPS如果它是Repository模式是解决方法 - 欢迎.前一段时间阅读它.
我有很多风格(例如 5 种),并且它们都使用共同的依赖关系。
我知道如何仅编译一种风格的库(flavorImplementation“org.sample:lib:1.0”)。但现在我需要排除其中一种口味的这种依赖性。我已经用风格中的存根覆盖了依赖包,但依赖关系仍然针对这种风格进行编译。
我有一个EditText视图和TextWatcher,在onTextChanged方法我必须从EditText字段查询服务器的结果.在我的演示者中,我使用rx,但我需要延迟搜索,直到用户的输入结束.这时我得到了这个:
service.getData(query)
.delaySubscription(REQUEST_DELAY_FROM_SERVER, TimeUnit.MILLISECONDS, Schedulers.io())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
data-> {
getViewState().showData(data);
},
error -> {
Log.e(this.getClass().getSimpleName(), error.getMessage(), error);
}
);
Run Code Online (Sandbox Code Playgroud)
但是delaySubscription不能按预期工作.它收集所有呼叫,延迟后发送每个呼叫.我必须做同样的事情,好像我曾经使用过handler.postDelayed(),只发送一次请求.
无法理解有什么不对,第二天就打破了我的脑袋......
我想使用带有2个选项卡的TabLayout,其中第一个带有ArtistModel的RecyclerView,但是当我用RecyclerView给Fragment充气时会出现此错误.
这是我的代码. 分段
package com.shagi.yandex.lookart.fragment;
import android.app.Fragment;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.shagi.yandex.lookart.JsonHelper;
import com.shagi.yandex.lookart.MainActivity;
import com.shagi.yandex.lookart.R;
import com.shagi.yandex.lookart.adaptor.ArtistsAdapter;
import com.shagi.yandex.lookart.pojo.Artist;
import java.util.List;
import java.util.concurrent.ExecutionException;
/**
* A simple {@link Fragment} subclass.
*/
public class ArtistsFragment extends Fragment {
private RecyclerView rvArtists;
private RecyclerView.LayoutManager layoutManager;
private ArtistsAdapter adapter;
private List<Artist> artists;
public MainActivity activity;
public ArtistsFragment() {
// Required empty public constructor
}
@Override
public void onActivityCreated(Bundle savedInstanceState) { …
Run Code Online (Sandbox Code Playgroud) 我正在尝试解决需要在 Swing 中显示图形的任务。找到了JGraph框架(现在称为 JGraphX)。在示例中,该graph.insertVertex(...)
方法用于添加顶点和graph.insertEdge(...)
边缘的方法 - 好吧,它工作正常。
但是之后如何删除该顶点?