#java #android #android-studio #class #android-layout
#Ява #Android #android-студия #класс #android-макет
Вопрос:
Я попытался создать еще один элемент в шаблоне действий базового навигационного ящика на основе уже существующих. Я настроил его, как и другие, но я получаю эту ошибку в элементе/фрагменте, который я создал.
не удается найти новый символ ViewModelProvider(это).get(ProbaViewModel.class);
Я надеюсь, что это видно. Это забавно, потому что красная линия уже была красной по умолчанию на фрагментах, которые уже были там, но приложение работало просто отлично. У него есть проблема только с тем, что я сделал. В чем может быть проблема? Я использую версию 4.3, потому что это требуется в моем классе.
public class ProbaFragment extends Fragment { public ProbaViewModel probaViewModel; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { probaViewModel = new ViewModelProvider(this).get(ProbaViewModel.class); // here View root = inflater.inflate(R.layout.fragment_proba, container, false); final TextView textView = root.findViewById(R.id.text_slideshow); probaViewModel.getText().observe(getViewLifecycleOwner(), new Observerlt;Stringgt;() { @Override public void onChanged(@Nullable String s) { textView.setText(s); } }); return root; } }
Зависимости
android { compileSdkVersion 31 buildToolsVersion "30.0.3" defaultConfig { applicationId "com.example.proba2" minSdkVersion 16 targetSdkVersion 31 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } dependencies { implementation 'androidx.appcompat:appcompat:1.4.0' implementation 'com.google.android.material:material:1.4.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.2' implementation 'androidx.navigation:navigation-fragment:2.3.5' implementation 'androidx.navigation:navigation-ui:2.3.5' implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.4.0' implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0' implementation 'androidx.legacy:legacy-support-v4:1.0.0' testImplementation 'junit:junit:4. ' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' }
Комментарии:
1. похоже, вам нужен импорт. Похоже, ViewModelProvider не распознан
Ответ №1:
можете ли вы попытаться удалить импорт ошибок и повторно синхронизировать свой проект и проверить ниже импорт
import androidx.lifecycle.ViewModelProvider
Как и ранее, общий gradle кажется устаревшим, поэтому удалите и это.
Комментарии:
1. Теперь я понимаю это: Не удалось решить: androidx.жизненный цикл:жизненный цикл-расширения:2.4.0