не удается найти метод символа getcontext - PullRequest
0 голосов
/ 08 мая 2020

Я новичок в программировании android / java, и у меня возникла проблема с получением сообщения об ошибке, в котором говорится, что символ getContext не может быть разрешен. Эта система начинается с Activity, есть два fragment. Одна - это кнопка для отображения Rest Api. Пожалуйста, помогите

InstansiActivity. java:

package com.example.instansi;


import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import android.os.Bundle;


import com.example.instansi.adapter.InstansiAdapter;
import com.example.instansi.model.DaftarInstansiItem;

import java.util.ArrayList;

public class InstansiActivity extends AppCompatActivity {
    private InstansiAdapter instansiAdapter;
    private RecyclerView rvInstansi;
    private com.example.instansi.viewmodel.InstansiViewModel instansiViewModel;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_instansi);

        instansiAdapter= new InstansiAdapter(getContext());
        instansiAdapter.notifyDataSetChanged();

        rvInstansi= view.findViewById(R.id.finstansi_rv);
        rvInstansi.setLayoutManager(new GridLayoutManager(getContext(),1));

        instansiViewModel= new ViewModelProvider(this).get(com.example.instansi.viewmodel.InstansiViewModel.class);
        instansiViewModel.setInstansi();
        instansiViewModel.getInstansi().observe(this, getInstansi_);

        rvInstansi.setAdapter(instansiAdapter);
    }


    private Observer<ArrayList<DaftarInstansiItem>> getInstansi_ = new Observer<ArrayList<DaftarInstansiItem>>() {
        @Override
        public void onChanged(ArrayList<DaftarInstansiItem> daftarInstansiItems) {
            if (daftarInstansiItems != null) {
                instansiAdapter.setData(daftarInstansiItems);
            }
        }
    };
}

Ответы [ 2 ]

0 голосов
/ 08 мая 2020

Activity является подклассом Context, поэтому из Activity вы должны просто использовать this там, где требуется текущий контекст.

0 голосов
/ 08 мая 2020

Простой способ получить контекст действия - это ввести this.

В вашей деятельности для получения контекста действия используйте this, а для получения applicationContext() используйте getApplicationContext()

И самая большая разница между activity context и application context: Application context привязана к lifecycle приложения, а Activity context привязан к lifecycle из Activity.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...