【问题标题】:RealmTransactions IDE editor error: Expected IdentifierRealmTransactions IDE 编辑器错误:预期标识符
【发布时间】:2017-06-10 20:27:54
【问题描述】:

我正在观看一个领域教程并尝试在OnEditorActionListener 中实现代码。这就是代码。我使用的是 Java 7,所以没有 lambda。 IDE 说错误出现在新的Realm 之前。 Transaction.Callback,*** 所在的位置,以及它预期的标识符。

    myEditText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
        @Override
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            if(actionId == EditorInfo.IME_ACTION_DONE){
                if (myEditText.getText()!=null){
                    Realm.Transaction myTr = new Realm.Transaction() {
                        @Override
                        public void execute(Realm realm) {
                            Task newTask = realm.createObject(Task.class);
                            newTask.setText(myEditText.getText().toString());
                        }
                    }, *** new Realm.Transaction.Callback(){
                        @Override
                        public void onSuccess() {
                            Log.d("REALM TASK", "saved successfully");
                        }

                        @Override
                        public void onError(Exception ignore) {
                            Log.d("REALM TASK", "not saved");
                        }
                    };
                }
                finish();
                return true;
            }
            else {   return false;    }
        }
    });

我试过了:

Realm.Transaction.Callback myCallback = (Realm.Transaction.Callback) myTr.Callback;

【问题讨论】:

    标签: java android database android-studio realm


    【解决方案1】:

    而不是

                    Realm.Transaction myTr = new Realm.Transaction() {
                        @Override
                        public void execute(Realm realm) {
                            Task newTask = realm.createObject(Task.class);
                            newTask.setText(myEditText.getText().toString());
                        }
                    }, *** new Realm.Transaction.Callback(){
                        @Override
                        public void onSuccess() {
                            Log.d("REALM TASK", "saved successfully");
                        }
    
                        @Override
                        public void onError(Exception ignore) {
                            Log.d("REALM TASK", "not saved");
                        }
                    };
    

    应该是

                    final String text = myEditText.getText().toString();
                    realm.executeTransactionAsync(new Realm.Transaction() {
                        @Override
                        public void execute(Realm realm) {
                            Task newTask = realm.createObject(Task.class);
                            newTask.setText(text);
                        }
                    }, new Realm.Transaction.Callback() {
                        @Override
                        public void onSuccess() {
                            Log.d("REALM TASK", "saved successfully");
                        }
    
                        @Override
                        public void onError(Exception e) {
                            Log.d("REALM TASK", "not saved", e);
                        }
                    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多