我在Andrid Studio中编写程序,并且将Room与Sqlite一起使用。我有一个Entity,以及相应的Dao。
谈论具有两列键和值的表键。在道我有
public interface KeyDao {
@Insert
void insert(Key key);
@Update
void update(Key key);
@Delete
void delete(Key key);
@Query("DELETE FROM key_table")
void deleteAllkeys();
@Query("SELECT * FROM key_table ORDER BY id DESC")
LiveData<List<Key>> getAllkeys();}
在onCreate的主要活动中,我做了两件事:
我得到所有表行 我设置了关于行的片段 为了获取所有行,我们设置了一个观察器并检测onChange
keyViewModel = ViewModelProviders.of(this).get(KeyViewModel.class);
keyViewModel.getAllKeys().observe(this, new Observer<List<Key>>() {
@Override
public void onChanged(@Nullable List<Key> all_key_rows) {
Giveme_all_the_rows = all_key_rows;
}
});
为了显示Fragment,我们调用FragmentManager
if (savedInstanceState == null) {
// If some rows do this BUT I FIND ROWS EMPTY!!
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
new MyFragment()).commit();
现在,这两个任务在Activity onCreate(Bundle savedInstanceState)中
我想在声明onChange之后立即阅读Giveme_all_the_rows变量,但发现它为空,我想立即阅读以显示关于某些行的Fragment
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。