Reputation: 11
I have fetched JSON data from url using ION library, but I am facing problem in displaying it in a listView in android studio.
I debug it in this way:
JSONObject jsonObject = new JSONObject(String.valueOf(result));
JSONArray jsonArray = jsonObject.getJSONArray("contacts");
and here is the output for debug:
result = {JsonObject@5328} "{"id":2,"deptName":"PWD","logo":[],"contacts":[{"contactId":25,"empName":"Chill","designation":"Manager","mobile":"","landlineOffice":"23412388","landlineRes":"2334567","fax":"123445","email":"[email protected]"},{"contactId":27,"empName":"Cena","designation":"Wrestler","mobile":"98176253","landlineOffice":"2334531","landlineRes":"444568","fax":"","email":"[email protected]"}]}"
result = {JsonObject@5328} "{"id":2,"deptName":"PWD","logo":[],"contacts":[{"contactId":25,"empName":"Chill","designation":"Manager","mobile":"","landlineOffice":"23412388","landlineRes":"2334567","fax":"123445","email":"[email protected]"},{"contactId":27,"empName":"Cena","designation":"Wrestler","mobile":"98176253","landlineOffice":"2334531","landlineRes":"444568","fax":"","email":"[email protected]"}]}"
jsonObject = {JSONObject@5341} "{"id":2,"deptName":"PWD","logo":[],"contacts":[{"contactId":25,"empName":"Chill","designation":"Manager","mobile":"","landlineOffice":"23412388","landlineRes":"2334567","fax":"123445","email":"[email protected]"},{"contactId":27,"empName":"Cena","designation":"Wrestler","mobile":"98176253","landlineOffice":"2334531","landlineRes":"444568","fax":"","email":"[email protected]"}]}"
id
is an integer sent form first activity.The code for my activity is given below:
public class ContactsActivity extends AppCompatActivity {
ListView contactList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_contacts);
Intent intent = getIntent();
contactList = findViewById(R.id.contactList);
int dId = intent.getExtras().getInt("id");
String Sid = new String(String.valueOf(dId));
Context context = getApplicationContext();
Toast.makeText(context, "" + dId, Toast.LENGTH_SHORT).show();
try {
getContacts(Sid);
} catch (Exception e) {
e.printStackTrace();
}
}
public void getContacts(final String Sid) throws Exception {
class Contacts{
String empName;
String designation;
String mobile;
String landlineOffice;
String landlineRes;
String fax;
String email;
public Contacts(String designation, String mobile, String landlineOffice, String landlineRes, String fax, String email) {
this.designation = designation;
this.mobile = mobile;
this.landlineOffice = landlineOffice;
this.landlineRes = landlineRes;
this.fax = fax;
this.email = email;
}
}
Ion.with(this)
.load("http://10.180.243.19:8080/api/departments/" + Sid)
.asJsonObject()
.setCallback(new FutureCallback<JsonObject>() {
@Override
public void onCompleted(Exception e, JsonObject result) {
int id = Integer.parseInt(Sid);
try {
JSONObject jsonObject = new JSONObject(String.valueOf(result));
JSONArray jsonArray = jsonObject.getJSONArray("contacts");
} catch (JSONException e1) {
e1.printStackTrace();
}
}
});
}
}
I expect to display list of contact details of multiple employees in a listview.
Upvotes: 0
Views: 75