AppCompatActivity에서 기호 ViewModelProviders를 확인할 수 없습니다.
안녕하세요, ViewModel을 작동 시키려고 지금 운영 운이 없습니다. Android Studio에 오류가 표시됩니다 Cannot resolve symbol 'ViewModelProviders'
.
나는이 주제에 발견 다른 모든 문제는 수정 된 extends Activity
에 extends AppCompatActivity
, 그러나 나는 올바른 일을 확장하고있다. 내가 무엇을 놓치고 있는지 잘 모르겠습니다 ...
내 코드는 이 YouTube 동영상을 기반으로합니다.
MainActivity.java
public class MainActivity extends AppCompatActivity implements
TileAdapter.TileAdapterOnClickHandler {
private BaseViewModel viewModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//set Toolbar
Toolbar myToolbar = findViewById(R.id.toolbar);
setSupportActionBar(myToolbar);
//initialize viewModel
viewModel = ViewModelProviders.of(this).get(BaseViewModel.class);
BaseViewModel.java
public class BaseViewModel extends ViewModel {
private Movie[] mMovie;
public void init (Movie[] movies){
this.mMovie = movies;
}
public Movie[] getMovie() {
return mMovie;
}
내 빌드에 두 가지 가지가 복제 문제가 발생했습니다.
implementation "android.arch.lifecycle:extensions:1.1.0"
implementation "android.arch.lifecycle:viewmodel:1.1.0"
@Muthukrishnan Rajendran 감사합니다
사용하는 경우 다음이 필요 androidx
합니다.
implementation 'androidx.lifecycle:lifecycle-extensions:2.1.0'
당신이 설치 한 SDK 버전 28을 사용하는 이상 만받을 수있는 하나의 실행 가능한 추가해야하는 경우 ViewModel
와LiveData
dependencies {
//...
def lifecycle_version = "1.1.1"
// ViewModel and LiveData
implementation "android.arch.lifecycle:extensions:$lifecycle_version"
}
build.gradle 파일에서 블록에 다음 행을 추가하십시오.
dependencies {
...
def lifecycle_version = "1.1.1"
// ViewModel and LiveData
implementation "android.arch.lifecycle:extensions:$lifecycle_version"
//if not using java 8,use the following line
annotationProcessor "android.arch.lifecycle:compiler:$lifecycle_version"
//if using java 8,ignore above line and add the following line
implementation "android.arch.lifecycle:common-java8:$lifecycle_version"
...
}
프로젝트의 build.gradle에 라이브러리를 추가해야합니다.
def lifecycle_version = "2.0.0"
// ViewModel and LiveData
implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
Android 공식 문서 에서이 문제를 해결합니다 . 아래에 추가build.grale
def lifecycle_version = "2.0.0"
// ViewModel and LiveData
implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
androix
라이브러리 사용
변화
implementation 'com.android.support:appcompat-v7:28.0.0'
...에
implementation 'androidx.appcompat:appcompat:1.1.0-alpha03'
당신이 사용할 수있는
Refactor>Migrate to AndroidX
'IT' 카테고리의 다른 글
첫 번째 호출은 실패하고 두 번째 호출은 성공하는 시뮬레이션 (0) | 2020.08.31 |
---|---|
dd / mm / yyyy 형식의 페이지를 Datetime으로 변환 (0) | 2020.08.31 |
Fragments에서 setArguments () 및 getArguments () 메서드를 사용하는 방법은 무엇입니까? (0) | 2020.08.31 |
Emacs, 이전 창으로 전환 (0) | 2020.08.31 |
JavaScript는 유형이 지정되지 않은 언어입니까? (0) | 2020.08.31 |