小编Raf*_*edo的帖子

使用ItemTouchHelper.SimpleCallback禁用在RecyclerView中滑动位置

我正在使用recyclelerview 22.2.0和帮助程序类ItemTouchHelper.SimpleCallback来启用我的列表中的轻扫到解除选项.但由于我有一种类型的标题,我需要禁用适配器的第一个位置的滑动行为.由于RecyclerView.Adapter没有isEnabled()方法,我尝试通过ViewHolder创建本身中的方法isEnabled()isFocusable()禁用视图交互,但没有成功.我尝试将滑动阈值调整为完整值,如SimpleCallback方法getSwipeThreshold()中的0f ot 1f,但也没有成功.

我的代码的一些片段可以帮助你帮助我.

我的活动:

@Override
protected void onCreate(Bundle bundle) {
    //... initialization
    ItemTouchHelper.SimpleCallback simpleItemTouchCallback = new ItemTouchHelper.SimpleCallback(0,
            ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {

        @Override
        public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder,
                          RecyclerView.ViewHolder target) {
            return false;
        }

        @Override
        public float getSwipeThreshold(RecyclerView.ViewHolder viewHolder) {
            if (viewHolder instanceof CartAdapter.MyViewHolder) return 1f;
            return super.getSwipeThreshold(viewHolder);
        }

        @Override
        public void onSwiped(RecyclerView.ViewHolder viewHolder, int swipeDir) {

        }
    };

    ItemTouchHelper itemTouchHelper = new ItemTouchHelper(simpleItemTouchCallback); …
Run Code Online (Sandbox Code Playgroud)

android android-recyclerview

78
推荐指数
5
解决办法
3万
查看次数

使用RxJava处理分页

我在Android应用程序上使用Retrofit + RxJava,并且问自己如何处理链接调用的API分页,直到检索到所有数据.是这样的:

Observable<ApiResponse> getResults(@Query("page") int page);
Run Code Online (Sandbox Code Playgroud)

所述ApiResponse对象具有简单的结构:

class ApiResponse {
    int current;
    Integer next;
    List<ResponseObject> results;
}
Run Code Online (Sandbox Code Playgroud)

API将返回下一个值,直到最后一页为止.

有一些很好的方法来实现这一目标吗?试图结合一些flatMaps(),但没有成功.

pagination android rx-java retrofit

26
推荐指数
1
解决办法
1万
查看次数

标准JPA 2有3个表格

我正在尝试创建一个标准来从3个表中检索一些对象(关联,更新和详细信息).详细信息引用了"关联"和"更新","更新"引用了"详细信息"列表.我的目标是在给定Associate id的情况下检索在指定字段中至少具有null值的Detail的更新列表.在JPQL中很容易做到,但客户说这必须用标准编码.

我的JPQL是:

public List<Update> getUpdates(long associateId) {
    TypedQuery<Update> query = em.createQuery("select distinct u from Update u, Detail dt, Associate a "
        + "where dt.update = u and dt.associate = a and a.associateId = :id and "
        + "dt.ack_date is null", Update.class);
    query.setParameter("id", associateId);
    return query.getResultList();
}
Run Code Online (Sandbox Code Playgroud)

我尝试了以下内容,但它只返回了数据库中的所有更新:

public List<Update> getUpdates(long associateId) {
    CriteriaBuilder builder = em.getCriteriaBuilder();
    CriteriaQuery<Update> query = builder.createQuery(Update.class);

    Root<Update> fromUpdates = query.from(Update.class);
    Root<Associate> fromAssociate = query.from(Associate.class);
    Root<Detail> fromDetail = query.from(Detail.class);

    Join<Detail, Associate> associateJoin = fromDetail.join("associate");
    Join<Detail, Update> …
Run Code Online (Sandbox Code Playgroud)

java jpql criteria-api jpa-2.0

21
推荐指数
2
解决办法
4万
查看次数

如何在pom中设置不编译测试?

如何在pom中设置不在Maven中编译测试?我试过了:

<properties>
  <skipTests>true</skipTests>
</properties>
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,Maven编译测试但不运行它们.我需要Maven不编译我的测试.

java testing pom.xml maven

7
推荐指数
2
解决办法
3890
查看次数

RecyclerView具有固定列和标题,以及可滚动页脚

我正试图找到一种方法来实现一个体育应用程序的站立表(如NBA游戏时间排名),具有固定的标题,固定的第一列和页脚.我搜索了一下如何获得它,但最好的镜头是这个项目(https://github.com/InQBarna/TableFixHeaders),但它使用自己的视图而不是GridView的Recycler.有谁知道这样的事情或知道如何从它开始(适配器或LayoutManager)?

编辑(添加图片)

初始状态

滚动状态显示页脚

android android-recyclerview

6
推荐指数
1
解决办法
8593
查看次数

JNA、结构和数组

我正在尝试创建我的类的数组(扩展 JNA 的结构)以将其传递给 DLL 函数。我已将值从数据库读取到 ArrayList,现在我需要将它们放入数组中。首先,我尝试使用 ArrayList 的 toArray() 方法,但当我调用本机函数时,它返回以下异常:

java.lang.IllegalArgumentException: Structure array elements must use contiguous memory (bad backing address at Structure array index 1)
Run Code Online (Sandbox Code Playgroud)

如果我只是设置一个与 ArrayList 大小相同的新数组,那么当我在类中设置结构体的“字段”时,它会返回一个 NullPointerException。

有人可以帮我解决这个问题吗?

java arrays struct jna

5
推荐指数
1
解决办法
2186
查看次数

配置 Gradle Kotlin DSL 以使用自定义存储库

我正在开发一个项目,我们不使用默认存储库(Maven Central、jCenter 等),而是使用内部 JFrog 存储库。该项目使用 Kotlin DSL for Gradle。

问题是,即使配置文件pluginManagement内的块settings.gradle.kts,Gradle 仍然尝试从 Gradle Central Plugin Repository 获取依赖项

// settings.gradle.kts
pluginManagement {
    repositories {
        maven(url = "https://myinternalrepo.corp/artifactory")
    }
}

// other definitions
Run Code Online (Sandbox Code Playgroud)

失败消息:

Plugin [id: 'org.gradle.kotlin.kotlin-dsl', version: '1.1.3'] was not found in any of the following sources:

- Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
- Plugin Repositories (could not resolve plugin artifact 'org.gradle.kotlin.kotlin-dsl:org.gradle.kotlin.kotlin-dsl.gradle.plugin:1.1.3')
  Searched in the following repositories:
    Gradle Central Plugin Repository
Run Code Online (Sandbox Code Playgroud)

有谁知道我做错了什么?

gradle kotlin

1
推荐指数
1
解决办法
5758
查看次数