Как разобрать JSON в viewpager - PullRequest
       7

Как разобрать JSON в viewpager

0 голосов
/ 09 сентября 2018

Я новичок в андроид студии. Я проанализировал некоторые данные JSON с сервера. Я хочу реализовать эти данные в viewpager. Я получил пример кода для просмотра. Но когда я применяю эти данные JSON к списку, он показывает, что не может разрешить конструктор. Мой код Viewpager ниже. Мой код извлечения JSON

public class MainActivity extends AppCompatActivity {
// Constants
private static final String TAG = MainActivity.class.getSimpleName();

// UI Components
private VerticalViewPager mVvpMainPager;

// Other objects
private ViewPagerAdapter mPagerAdapter;

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

    initView();
}

private void initView() {
    mVvpMainPager = findViewById(R.id.activity_main_vvp_main_pager);

    setupViewPager();
}

private void setupViewPager() {
    mPagerAdapter = new ViewPagerAdapter(getSupportFragmentManager());
    for (BeanNews news : generateSampleNewsData()) {
        mPagerAdapter.addFragment(PagerFragment.newInstance(news), "News " + news.getNewsId());
    }
    mVvpMainPager.setAdapter(mPagerAdapter);
    mVvpMainPager.setOffscreenPageLimit(generateSampleNewsData().size());
}

private ArrayList<BeanNews> generateSampleNewsData() {
    String url ="http://maranamassapp.cf/json_getdata.php";
    JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null,
            new Response.Listener<JSONObject>() {
                @Override
                public void onResponse(JSONObject response) {
                    try {
                        JSONArray jsonArray = response.getJSONArray("server_response");
                        for(int i = 0; i < jsonArray.length(); i++){
                            JSONObject ser =jsonArray.getJSONObject(i);
                            String creatorname =  ser.getString("head");
                            String imageUrl = ser.getString("image");
                            String cat = ser.getString("content");
                            String postdate = ser.getString("weburl");
                            String dateall = ser.getString("date");
                            BeanNews news = new BeanNews(creatorname,imageUrl,cat,postdate,dateall);
                            ArrayList<BeanNews> newsList = new ArrayList<>();
                            newsList.add(news);

                        }

                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            error.printStackTrace();
        }
    });



    return newsList;
}

1 Ответ

0 голосов
/ 09 сентября 2018

Чек это о ViewPager:

Менеджер макетов, который позволяет пользователю пролистывать влево и вправо страницы данных. Вы предоставляете реализацию PagerAdapter для сгенерируйте страницы, которые показывает представление.

ViewPager чаще всего используется вместе с Fragment, , который является удобный способ снабжения и управления жизненным циклом каждой страницы.

Теперь вам понадобится RecyclerView или ListView внутри ViewPager XML-файла макета для отображения данных. Итак, вам понадобится Fragment внутри ViewPager, RecyclerView || ListView внутри Fragment с последующим отображением данных или добавлением к RecyclerView адаптеру.

Невозможно передать список элементов ( из json в вашем случае ) в ViewPager для отображения в представлении в Android.

...