java - 更新 RecyclerView 中的对象

标签 java android ormlite

我在更新 RecycleView 中的项目时遇到问题。 当我尝试编辑梦想对象并保存它时,它会在数据库中更新,但不会在梦想列表中更新,我不知道为什么。

此方法创建并更新梦想对象。

@OnClick({R.id.addTagDream, R.id.saveDreamButton})
    public void onViewClicked(View view) {
        switch (view.getId()) {
            case R.id.addTagDream:
                Intent intent = new Intent(AddEditDreamActivity.this, SelectDreamActivity.class);
                startActivityForResult(intent, SELECTED_DREAM);
                break;
            case R.id.saveDreamButton:
                boolean hasError = false;
...

                    if (!hasError) {
    // check if exit dream about id 
                        try {
                            myDreamList = myDreamDao.queryForEq(MyDream.Columns.MY_DREAM_ID, dreamId);
                        } catch (SQLException e) {
                            e.printStackTrace();
                        }
    chcek if dream exist 
                        if (myDreamList != null && !myDreamList.isEmpty()) {

                            // update dream 

                            UpdateBuilder<MyDream, ?> updateMyDream = myDreamDao.updateBuilder();


// condition update dream about dream id 

                            try {
                                updateMyDream.where().eq(MyDream.Columns.MY_DREAM_ID, dreamId);
                            } catch (SQLException e) {
                                e.printStackTrace();
                            }
    // update column title dream 
                            try {
                                updateMyDream.updateColumnValue(MyDream.Columns.TITLE_DREAM, dreamTitle);
                            } catch (SQLException e) {
                                e.printStackTrace();
                            }
    // update dream description 
                            try {
                                updateMyDream.updateColumnValue(MyDream.Columns.DESCRIPTION, dreamDescription);
                            } catch (SQLException e) {
                                e.printStackTrace();
                            }
    // update dream symbol 
                            try {
                                updateMyDream.updateColumnValue(MyDream.Columns.SYMBOL_DREAM, selectSymbolDream);
                            } catch (SQLException e) {
                                e.printStackTrace();
                            }

                            try {
                                updateMyDream.update();
                            } catch (SQLException e) {
                                e.printStackTrace();
                            }

                            finish();
                        } 
                    }
                    break;
            }
        }

最佳答案

每当您在列表中添加值时,请使用adapter.notifyDataSetChanged() 或notifyItemInserted()

希望这对您有帮助

关于java - 更新 RecyclerView 中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46915486/

相关文章:

android - 对 Android Fragment Transaction 感到疯狂

android - 从 ForeignCollection 添加、删除对象

java - 无法禁用 ORMLites 日志记录

java - Android + ORMLite + java.sql.Timestamp

android - YouTube.Builder 的正确使用方法

Java:从遥远的对象访问方法的最佳方式

java - JFrame - 在透明背景上绘制图形?

java - Constructor.newInstance() : java. lang.IllegalArgumentException:参数类型不匹配

android - firebase:如何链接电子邮件验证和密码

Java类型删除——为什么看字节码能看到类型?