Java 如果我从数据库中得到一行包含Room和LiveData,我怎么能;同步";它是否在UI线程中使用变量?

Java 如果我从数据库中得到一行包含Room和LiveData,我怎么能;同步";它是否在UI线程中使用变量?,java,android,android-room,Java,Android,Android Room,例如: selectedCode.something()给出了错误,因为selectedCode为null,它没有在另一个线程中初始化,但我不希望整个部分都使用已更改的Observable方法编写。 也许还有别的办法 public class CodeDetailsActivity extends AppCompatActivity { private Code selectedCode; private CodeRepository mCodeRepository; p

例如: selectedCode.something()给出了错误,因为selectedCode为null,它没有在另一个线程中初始化,但我不希望整个部分都使用已更改的Observable方法编写。 也许还有别的办法

public class CodeDetailsActivity extends AppCompatActivity {
    private Code selectedCode;
    private CodeRepository mCodeRepository;

   private void retrieve(final int id){
            mCodeRepository.retrieveCode(id).observe(this, new Observer<Code>() {
                @Override
                public void onChanged(Code code) {
                    if (code != null){
                        selectedCode = code;
                    }
                }
            });
        }
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_code_details);
             

           retrieveCode(1);
           selectedCode.something();  
“要写的整个章节”是什么意思?看起来您只需移动
seelctedCode.something()
即可进入
onChanged()
,在当前
selectedCode=code之后行.retrieveCode(1)和selectedCode.something()在if语句中。在这之后还有另一个代码。但也许我会折射一点,这样检查。谢谢