Hi in the below code value am adding values to account_name the after that using that adapter doing the set adapter.response is coming the server but values are not adding to the list and list is also displaying.
For displaying used the recyclerview to display the values .
can any one help me where did the mistake
Error:
java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean)' on a null object reference
at com.genworks.oppm.Adapter.MyAdapter.onCreateViewHolder(MyAdapter.java:32)
at com.genworks.oppm.Adapter.MyAdapter.onCreateViewHolder(MyAdapter.java:19)
updated code:
Activity.java:
for(SyncBlocks syncBlocks1:syncBlocks){
String label=syncBlocks1.getLabel();
ArrayList<SynFields> synFields=syncBlocks1.getFields();
ArrayList<SynFields> jsonArray=syncBlocks1.getFields();
for(SynFields synFields1:synFields){
String name=synFields1.getName();
Object values = synFields1.getValue().toString();
try {
if (values instanceof JSONObject) {
JSONObject jsonObject1 = new
JSONObject(String.valueOf(synFields1.getValue()));
String value=jsonObject1.getString("value");
}else if (values instanceof String) {
//here, you get string
String value = synFields1.getValue().toString();
//account_name.addAll(value);
String value_names= String.valueOf(synFields1.getValue());
// Log.e("account_name", String.valueOf(account_name.add(value)));
account_name.add(value_names);
//account_name.add(value);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
myAdapter = new MyAdapter(getContext(),account_name);
recyclerView.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false));
recyclerView.setAdapter(myAdapter);
}
MyAdapter.java:
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> {
private LayoutInflater inflater;
private Context mContext;
private ArrayList<String> mSynFields=new ArrayList<>();
public MyAdapter(Context context, ArrayList<String> synFieldsArrayList) {
mContext=context;
mSynFields=synFieldsArrayList;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = inflater.inflate(R.layout.fragment_account, parent, false);
MyViewHolder holder = new MyViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
holder.name.setText(mSynFields.get(position));
}
@Override
public int getItemCount() {
return mSynFields.size();
}
class MyViewHolder extends RecyclerView.ViewHolder{
TextView country, name, city;
ImageView iv;
public MyViewHolder(View itemView) {
super(itemView);
country = (TextView) itemView.findViewById(R.id.headingText);
name = (TextView) itemView.findViewById(R.id.subHeaderText);
city = (TextView) itemView.findViewById(R.id.subHeadingText);
}
}
}