Как использовать переменную GridView из класса onCreateView в другой класс во фрагменте? - PullRequest
0 голосов
/ 23 октября 2018

У меня есть фрагмент, и я инициализировал переменную GridView: mgridView внутри onCreateView, но я не могу использовать его в другом классе, так как он выдает ошибку - не может разрешить переменную mgridView .У меня была похожая проблема с переменной mContext в коде, но я исправил ее, выполнив закрытый контекст mContext = null; & mContext mContext = this.getActivity (); * внутри onCreateView, но idk чемделать с mgridView.

Код -

public class DubsFragment extends Fragment {
    private static final String TAG = "Dubs Fragment";
    private Context mContext = null;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_mydubs, container, false);

        GridView mgridView = view.findViewById(R.id.gridView);
        mContext = this.getActivity();
        tempGridsetup();

        return view;

    }

        private void tempGridsetup() {

        ArrayList<String> imgURLs = new ArrayList<>();

            imgURLs.add("https://jerrybanfield.com/wp-content/uploads/2017/04/ufo-title.jpg");
            imgURLs.add("https://i.ytimg.com/vi/fb7T1v_VHpE/maxresdefault.jpg");
            imgURLs.add("https://cbsnews3.cbsistatic.com/hub/i/r/2010/11/10/a5cb16e6-a642-11e2-a3f0-029118418759/thumbnail/1200x630/f599cb2f266baaae27ae8b608b45e70d/UFO.jpg");

            setupImageGrid(imgURLs);

        }


        private void setupImageGrid(ArrayList<String> imgURLs){

            GridImageAdapter adapter = new GridImageAdapter(mContext, R.layout.layout_grid_imageview, "", imgURLs);
            mgridView.setAdapter(adapter);
    }

    }

Может быть основным вопросом, но я искал похожие проблемы в stackoverflow, но не нашел подсказки для моей проблемы.

1 Ответ

0 голосов
/ 23 октября 2018

Определите свой вид сетки из onCreate.

 private static final String TAG = "Dubs Fragment";
        private Context mContext = null;
        public  GridView mgridView;

        @Nullable
        @Override
        public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
            View view = inflater.inflate(R.layout.fragment_mydubs, container, false);

            mgridView = view.findViewById(R.id.gridView);
            mContext = this.getActivity();
            tempGridsetup();

            return view;

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