Загрузка RecyclerView в фоновом потоке - PullRequest
0 голосов
/ 05 сентября 2018

Или как сделать анимацию, загружая RecyclerView? Я использую RecyclerView из примеров, базовая реализация во фрагменте.

public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
            {  mApplicationAlbum = new ApplicationAlbum();
            var view = inflater.Inflate(Resource.Layout.fragment1, container, false);
            mRecyclerView = view.FindViewById<RecyclerView>(Resource.Id.recyclerView);       
            mLayoutManager = new LinearLayoutManager(Activity);
           mRecyclerView.SetLayoutManager(mLayoutManager);
            mAdapter = new ApplicationAlbumAdapter(mApplicationAlbum);
            mAdapter.ItemClick += OnItemClick;           
           mRecyclerView.SetAdapter(mAdapter);

            var ignored = base.OnCreateView(inflater, container, savedInstanceState);
            return view;  }

Адаптер получает данные от json

            WebClient client = new WebClient();
            var json = client.DownloadString("http://....../application.php");                   
            Application[] mBuiltInApplication = JsonConvert.DeserializeObject<Application[]>(json);
            mApplications = mBuiltInApplication;

Вызов фрагмента

          SupportFragmentManager.BeginTransaction()
         .Replace(Resource.Id.content_frame, Fragment1.NewInstance())         
          .Commit();

Это решение хорошо работает.

Я хочу решить проблему, если загрузка с Json занимает больше времени, то приложение зависает, пользовательский интерфейс не отвечает.

Как отобразить анимацию загрузки на экране, при этом в фоновом потоке будет загружен json, и после успешной загрузки отобразится.

Надеюсь, вы понимаете, что я хочу сделать.

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