目前,我想在这里学习 Android 教程: https://codelabs.developers.google.com/codelabs/android-room-with-a-view/#13
我想将教程的想法纳入我自己的项目中,并创建了我自己的活动“WordsList”,并扩展了与教程相同的类。一切顺利,但我的代码片段最后一行中的“this”抛出错误“无法解析构造函数 ViewModelProvider(...)”。在我看来,这绝对没有意义,因为 MainActivity 和 WordsList 类都扩展同一个类?!为了更深入地研究,我下载了 github 项目并在 Android Studio 中打开并在我的手机上启动它。有效!我完全不知道是什么导致了这种差异。
MainActivity 的相应片段位于 github 上: https: //github.com/googlecodelabs/android-room-with-a-view/blob/master/app/src/main/java/com/example/android/roomwordssample/ MainActivity.java
这是我的片段:
public class WordsList extends AppCompatActivity {
// Room DB strategies ...
private WordViewModel wordViewModel;
public static final int NEW_WORD_ACTIVITY_REQUEST_CODE = 1; // Request code
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_words);
RecyclerView recyclerView = findViewById(R.id.recyclerview);
final WordListAdapter adapter = new WordListAdapter(this);
recyclerView.setAdapter(adapter);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
// Get a new or existing ViewModel from the ViewModelProvider.
wordViewModel = new ViewModelProvider(this).get(WordViewModel.class);
Run Code Online (Sandbox Code Playgroud)