小编Кир*_*мов的帖子

Android Room - 具有附加字段的多对多关系

我在 Room 数据库上设置了多对多关系,如下图所示: 在此输入图像描述

我想向“CrossRef”表添加额外的字段。我的问题是如何让 DateWithSteaks 从“CrossRef”表中获取这个“isCompleted”变量?

@Entity
public class Steak{

    @PrimaryKey(autoGenerate = true)
    public int id;

    public String title;
}


@Entity
public class Date {
    @PrimaryKey
    public long date;

    public Date() {
        date = new LocalDate().toDate().getTime();
    }
}


@Entity(primaryKeys = {"date", "id"})
public class DateSteakCrossRef {
    public long date;
    public int id;
    public boolean isCompleted;
}


public class DateWithSteaks {
    @Embedded Date date;

    @Relation(
            parentColumn = "date",
            entityColumn = "id",
            associateBy = @Junction(DateSteakCrossRef.class)
    )

    public List<Steak> steaks;
}
Run Code Online (Sandbox Code Playgroud)

database android android-room android-room-relation

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

如何从 MaterialDatePicker 获取日期?

我的应用程序使用 MaterialDatePicker。我想创建一个类,除其他数据外,还将存储 MaterialDatePicker 中的日期。\n我有一些问题:

\n
    \n
  1. 如果日期应该可以更改,那么在课堂上保存日期的最佳方法是什么?
  2. \n
  3. 如何从日期选择器材料中获取日期?\n这是我使用日期选择器材料的活动。通过单击复选框,我想将所有这些信息(包括日期)保存到类对象中。
  4. \n
\n

这是我与 MaterialDatePicker 的活动代码

\n
public class NewEvent extends AppCompatActivity {\nTextInputEditText etDate, etEventId;\nAutoCompleteTextView etType, etNotif;\nMaterialToolbar toolbarNE;\nSharedPreferences sharedPreferences;\n\nprivate static final String TAG = "myLogs";\nstatic final String newEv = "newEv";\n@Override\nprotected void onCreate(Bundle savedInstanceState) {\n    super.onCreate(savedInstanceState);\n    setContentView(R.layout.new_event);\n    final FragmentManager fragmentManager = getSupportFragmentManager();\n    final FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();\n\n    final FirstFragment fragment1 = new FirstFragment();\n\n    etDate = findViewById(R.id.etDate);\n    etType = findViewById(R.id.etType);\n    etNotif = findViewById(R.id.etNotif);\n    etEventId = findViewById(R.id.etEventId);\n    toolbarNE = findViewById(R.id.menuNewEvent);\n\n    toolbarNE.setOnMenuItemClickListener(new MaterialToolbar.OnMenuItemClickListener() {\n        @Override\n …
Run Code Online (Sandbox Code Playgroud)

java android android-datepicker material-components-android

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