用json数据填充recyclerView [英] populating recyclerView with json data

查看:309
本文介绍了用json数据填充recyclerView的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建了一个multiolumn recyclerView并用json数据填充它。我面临的问题是,只有一个回收者视图的列被填充,其余的则没有。 json对象获取所有细节,但只填充了一个recyclelerView列。我使用的代码如下





i have created a multicolumn recyclerView and have populated it with json data. the problem that i'm facing is that only one colum of the recyclerview is being populated the rest of them are not. the json object fetchs all the details but only one colum of recyclerView is populated. the code that i used is as follows


public class FeedItem {
    private String hehw, hesub;

    String getHehw() {
        return hehw;
    }

    public void setHehw(String pname) {
        this.hehw = pname;
    }

    String getHesub() {
        return hesub;
    }

    public void setHesub(String name) {
        this.hesub = name;
    }    
}





Adapter.java



Adapter.java

private List<FeedItem> feedItemList;
    private Context mContext;

    public MyRecyclerAdapter(Context context, List<FeedItem> feedItemList) {
        this.feedItemList = feedItemList;
        this.mContext = context;
    }

    @Override
    public CustomViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
        View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.main_adapter, null);

        CustomViewHolder viewHolder = new CustomViewHolder(view);
        return viewHolder;
    }

    @Override
    public void onBindViewHolder(CustomViewHolder customViewHolder, int i) {
        FeedItem feedItem = feedItemList.get(i);

       
        //Setting text view title
        customViewHolder.textView.setText(Html.fromHtml(feedItem.getHehw()));
        customViewHolder.textView.setText(Html.fromHtml(feedItem.getHesub()));
    }

    @Override
    public int getItemCount() {
        return (null != feedItemList ? feedItemList.size() : 0);
    }

    public class CustomViewHolder extends RecyclerView.ViewHolder {
       // protected ImageView imageView;
        protected TextView textView,textView1;

        public CustomViewHolder(View view) {
            super(view);
            //this.imageView = (ImageView) view.findViewById(R.id.thumbnail);
            this.textView = (TextView) view.findViewById(R.id.HeHw);
            this.textView1= (TextView) view.findViewById(R.id.HeSub);
        }
    }





和MainActivity.java



and MainActivity.java

@Override
        protected void onPostExecute(Integer result) {
            // Download complete. Let us update UI
            //progressBar.setVisibility(View.GONE);

            if (result == 1) {
                adapter = new MyRecyclerAdapter(MainActivity.this, feedsList);
                mRecyclerView.setAdapter(adapter);
            } else {
                Toast.makeText(MainActivity.this, "Failed to fetch data!", Toast.LENGTH_SHORT).show();
            }
        }




private void parseResult(String result) {
        try {
            JSONObject response = new JSONObject(result);
            JSONArray posts = response.optJSONArray("RESTMethod");
            feedsList = new ArrayList<>();

            for (int i = 0; i < posts.length(); i++) {
                JSONObject post = posts.optJSONObject(i);
                FeedItem item = new FeedItem();
                item.setHehw(post.optString("ID"));
                item.setHesub(post.optString("SERIAL_NUMBER"));
                feedsList.add(item);
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }

推荐答案

我解决了问题。



在以下函数的适配器类中



@Override

public void onBindViewHolder(CustomViewHolder customViewHolder,int i){

FeedItem feedItem = feedItemList.get(i);



- >更改此

//设置文本视图标题

customViewHolder.textView.setText(Html.fromHtml(feedItem.getHehw()));

customViewHolder.textView.setText(Html.fromHtml(feedItem.getHesub()));

}



- >到此

i got the problem solved.

in adapter class in the below function

@Override
public void onBindViewHolder(CustomViewHolder customViewHolder, int i) {
FeedItem feedItem = feedItemList.get(i);

->Change this
//Setting text view title
customViewHolder.textView.setText(Html.fromHtml(feedItem.getHehw()));
customViewHolder.textView.setText(Html.fromHtml(feedItem.getHesub()));
}

->to this
customViewHolder.textView.setText(Html.fromHtml(feedItem.getHehw()));
       customViewHolder.textView1.setText(Html.fromHtml(feedItem.getHesub()));


这篇关于用json数据填充recyclerView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆