Данные не отображаются на экране Android, и я также не получаю ошибок в LogCat. В LogCat он отображает данные, но не отображает их на экране. Я много искал, но для этого не получил никакого ответа. Я использую RecyclerView
, чтобы показать данные.Данные не отображаются с помощью recyclerView
Вот мой код - MainActivity
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second_activity);
recyclerView = (RecyclerView) findViewById(R.id.recycler_view);
gAdapter = new GetJobDetailsAdapter(detailsJob);
RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getApplicationContext());
recyclerView .setLayoutManager(mLayoutManager);
recyclerView.addItemDecoration(new DividerItemDecoration(this, LinearLayoutManager.VERTICAL));
recyclerView.setItemAnimator(new DefaultItemAnimator());
String url = "url"
AQuery mAQuery = new AQuery(SecondActivity.this);
mAQuery.ajax(url, String.class, new AjaxCallback<String>() {
@Override
public void callback(String url, String data, AjaxStatus status) {
super.callback(url, data, status);
if (null != data && status.getCode() != -101) {
String StringData = "" + data;
try {
JSONArray rootArray = new JSONArray(StringData);
int len = rootArray.length();
for (int i = 0; i < len; ++i) {
JSONObject json = rootArray.optJSONObject(i);
GetJobDetailsJobs b1 = new GetJobDetailsJobs();
b1.About_Company = json.optString("Req_Additional_Details");
b1.Designation = json.optString("Req_Designation_Role");
b1.Eligibility = json.optString("JobTitle");
b1.JobLocation = json.optString("Job_Location");
b1.JobDescription=json.optString("Req_Project_Desc");
detailsJob.add(b1);
}
} catch (JSONException e) {
Toast.makeText(SecondActivity.this, e.toString(), Toast.LENGTH_LONG).show();
}
}
}
});
}
А ниже мой код адаптера:
public class GetJobDetailsAdapter extends RecyclerView.Adapter<GetJobDetailsAdapter.MyViewHolder> {
public List<GetJobDetailsJobs> detailsJob;
public class MyViewHolder extends RecyclerView.ViewHolder{
public TextView About_Company,Designation,Eligibility,JobLocation,JobDescription,KeySkills,EventDate,EventLocation,Salary,Comp_Name;
public MyViewHolder(View view){
super(view);
About_Company=(TextView) view.findViewById(R.id.About_Company);
Designation=(TextView) view.findViewById(R.id.Designation);
Eligibility=(TextView) view.findViewById(R.id.Eligibility);
JobLocation=(TextView) view.findViewById(R.id.JobLocation);
JobDescription=(TextView) view.findViewById(R.id.JobDescription);
KeySkills=(TextView) view.findViewById(R.id.KeySkills);
EventDate=(TextView) view.findViewById(R.id.EventDate);
EventLocation=(TextView) view.findViewById(R.id.EventLocation);
Salary=(TextView) view.findViewById(R.id.Salary);
Comp_Name=(TextView) view.findViewById(R.id.Comp_Name);
}
}
public GetJobDetailsAdapter(List<GetJobDetailsJobs>detailsJob){
this.detailsJob=detailsJob;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.jobdetails, parent, false);
return new MyViewHolder(itemView);
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
GetJobDetailsJobs b1 = detailsJob.get(position);
holder.About_Company.setText(b1.getAbout_Company());
holder.Designation.setText(b1.getDesignation());
holder.Eligibility.setText(b1.getEligibility());
}
@Override
public int getItemCount() {
return detailsJob.size();
}
}
добавьте полный код адаптера – HourGlass
ли вы под названием 'notifyDataSetChanged()' после добавления элементов в список? – Emil
добавьте 'recyclerview.setadapter (gAdapter)' после 'detailsJob.add (b1);' в 'callback' метод –