Добавление активности с вкладками в базовую студию Android ActivityJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Добавление активности с вкладками в базовую студию Android Activity

Сообщение Anonymous »

Начал с базового действия, но когда я добавляю действие с вкладками, я сталкиваюсь с этой ошибкой в ​​Placeholderfragment.java:
Код:
пакете com.example. ревизияrevision.ui.main;

Код: Выделить всё

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import androidx.annotation.Nullable;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;

import com.example.revisionrevision.R;
import com.example.revisionrevision.databinding.FragmentTabbedBinding;

/**
* A placeholder fragment containing a simple view.
*/
public class PlaceholderFragment extends Fragment {

private static final String ARG_SECTION_NUMBER = "section_number";

private PageViewModel pageViewModel;
private FragmentTabbedBinding binding;

public static PlaceholderFragment newInstance(int index) {
PlaceholderFragment fragment = new PlaceholderFragment();
Bundle bundle = new Bundle();
bundle.putInt(ARG_SECTION_NUMBER, index);
fragment.setArguments(bundle);
return fragment;
}

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
pageViewModel = new ViewModelProvider(this).get(PageViewModel.class);
int index = 1;
if (getArguments() != null) {
index = getArguments().getInt(ARG_SECTION_NUMBER);
}
pageViewModel.setIndex(index);
}

@Override
public View onCreateView(
@NonNull LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {

binding = FragmentTabbedBinding.inflate(inflater, container, false);
View root = binding.getRoot();

final TextView textView = binding.sectionLabel;
pageViewModel.getText().observe(getViewLifecycleOwner(), new Observer() {
@Override
public void onChanged(@Nullable String s) {
textView.setText(s);
}
});
return root;
}

@Override
public void onDestroyView() {
super.onDestroyView();
binding = null;
}
}
ОШИБКА:
ошибка: несовместимые типы: PlaceholderFragment невозможно преобразовать в ViewModelProviderImpl
pageViewModel = new ViewModelProvider(this).get(PageViewModel.class);
^
Я удалил только первый и второй фрагменты, потому что они мне не нужны, а также классы xml и java.

Подробнее здесь: https://stackoverflow.com/questions/785 ... oid-studio
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»