小编Tub*_*uby的帖子

如何使用Android Room Persistence Library将Column注释为NOT NULL

我的数据类看起来像这样

@Entity(tableName = "items")
data class Item(
        @ColumnInfo(name = "name") var name: String = "",
        @ColumnInfo(name = "room") var room: String = "",
        @ColumnInfo(name = "quantity") var quantity: String = "",
        @ColumnInfo(name = "description") var description: String = "",
        @PrimaryKey(autoGenerate = true)
        @ColumnInfo(name = "id") var id: Long = 0
)
Run Code Online (Sandbox Code Playgroud)

Room使用SQLite和SQLite支持其数据库中的NOT NULL列.我尝试用@NonNull注释列,但它没有效果.

有没有办法让房间数据库中的列不可为空?

sqlite android kotlin android-room

18
推荐指数
5
解决办法
2万
查看次数

如何删除 TabItem 指示器底部填充?

如何删除 TabItem 或其指示器的底部填充,以便它完全出现在工具栏的底部?

在此输入图像描述

我的 xml 布局

<android.support.v7.widget.Toolbar
        android:id="@+id/menu_fragment_toolbar"
        android:layout_width="match_parent"
        android:layout_height="58dp"
        android:background="@color/app_font_dark"
        android:padding="0dp"
        android:popupTheme="@style/AppTheme.AppBarOverlay"
        app:contentInsetStart="0dp"
        >

        <android.support.design.widget.TabLayout
            android:id="@+id/main_menu_tablayout"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="start"
            android:paddingEnd="0dp"
            android:paddingStart="0dp"
            app:tabIndicatorColor="@color/app_indicator_color"
            app:tabIndicatorHeight="4dp"
            app:tabMode="scrollable"
            app:tabPaddingEnd="30dp"
            app:tabPaddingStart="30dp"
            app:tabTextAppearance="@style/TabTextStyle"
            />
</android.support.v7.widget.Toolbar>
Run Code Online (Sandbox Code Playgroud)

我尝试将Toolbar和 的底部边距和填充设置TabLayout为 0dp 但似乎没有生效。我正在使用支持库 v26.0.0-alpha1 和具有 API 25 的设备。我通过调用动态添加 TabItems

tabLayout.addTab(tabLayout.newTab().setText("Some long text"));

xml android

6
推荐指数
2
解决办法
4193
查看次数

带有反跳功能的RxJava2缓冲区

我想缓冲元素并在x时间内没有新元素时将它们作为集合发出。怎么做?

例如给定的输入

INPUT    TIME
1        0  
2        0
3        100
4        150
5        400
6        450
7        800   
Run Code Online (Sandbox Code Playgroud)

如果我的x = 200我想发射 {1, 2, 3, 4}, {5, 6}, {7}

我尝试过的方法很简单buffer(),但是随着时间的推移却无法消除抖动。我也试过throttleFirst()源和flatMap()buffer().take(1)的来源里面flatMap,它的工作原理类似,但不完全是任意的。

java rx-java2

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

标签 统计

android ×2

android-room ×1

java ×1

kotlin ×1

rx-java2 ×1

sqlite ×1

xml ×1