Saturday, 31 August 2013

ArrayList HashMap is undefined

ArrayList HashMap is undefined

Can't seem to figure out why I get this error
"ArrayList<HashMap<String,String>>, int, String[], int[]) is undefined"
Here is my code. The idea is to take a JSON from an app engine datastore
and then divide it up into a list view.
package com.indeeditis;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.logging.Filter;
import javax.annotation.Nullable;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.os.AsyncTask;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import com.indeeditis.MainActivity.EndpointsTask;
import com.indeeditis.contactinfoendpoint.Contactinfoendpoint;
import
com.indeeditis.contactinfoendpoint.model.CollectionResponseContactInfo;
import com.indeeditis.contactinfoendpoint.model.ContactInfo;
import com.google.api.client.extensions.android.http.AndroidHttp;
import com.google.api.client.http.HttpRequest;
import com.google.api.client.http.HttpRequestInitializer;
import com.google.api.client.json.JsonObjectParser;
import com.google.api.client.json.jackson.JacksonFactory;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import android.app.Activity;
import android.app.ListActivity;
import android.view.View.OnClickListener;
public class FinderActivity extends ListActivity {
private static final String TAG_ID = "id";
private static final String TAG_FIRSTNAME = "nameFirst";
private static final String TAG_LASTNAME = "nameLast";
private static final String TAG_EMAIL = "emailAddress";
private static final String TAG_ADDRESS = "address";
private static final String TAG_STATE = "state";
private static final String TAG_PHONE = "phone";
JSONArray contacts = null;
ArrayList<HashMap<String, String>> contactList = new
ArrayList<HashMap<String, String>>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.finder);
// Button start = (Button)findViewById(R.id.button9000);
//start.setOnClickListener(this);
new EndpointsTask().execute(getApplicationContext());
}
public class EndpointsTask extends AsyncTask<Context, Integer, Long> {
public Long doInBackground(Context... contexts) {
Contactinfoendpoint.Builder endpointBuilder = new
Contactinfoendpoint.Builder(
AndroidHttp.newCompatibleTransport(),
new JacksonFactory(),
new HttpRequestInitializer() {
public void initialize(HttpRequest httpRequest) { }
});
Contactinfoendpoint endpoint = CloudEndpointUtils.updateBuilder(
endpointBuilder).build();
try {
// final TextView detail = (TextView)findViewById(R.id.textView100);
String apples = endpoint.listContactInfo().execute().toString();
JSONObject jObject = new JSONObject(apples);
try{
//Get the element that holds the earthquakes ( JSONArray )
JSONArray contacts = jObject.getJSONArray("item");
for(int i = 0; i < contacts.length(); i++){
JSONObject c = contacts.getJSONObject(i);
// Storing each json item in variable
String id = c.getString(TAG_ID);
String nameFirst = c.getString(TAG_FIRSTNAME);
String nameLast = c.getString(TAG_LASTNAME);
String email = c.getString(TAG_EMAIL);
String address = c.getString(TAG_ADDRESS);
String phone = c.getString(TAG_PHONE);
// creating new HashMap
HashMap<String, String> map = new HashMap<String, String>();
// adding each child node to HashMap key => value
map.put(TAG_ID, id);
map.put(TAG_FIRSTNAME, nameFirst);
map.put(TAG_EMAIL, email);
map.put(TAG_PHONE, phone);
// adding HashList to ArrayList
contactList.add(map);
}
}catch(JSONException e) {
Log.e("log_tag", "Error parsing data "+e.toString());
}
// THE ERROR IS RIGHT HERE TO
ListAdapter adapter = new SimpleAdapter(this, contactList,
R.layout.main,
new String[] { TAG_FIRSTNAME, TAG_EMAIL, TAG_PHONE },
new int[] {
R.id.nameFirst, R.id.email, R.id.mobile });
//HERE
setListAdapter(adapter);
// selecting single ListView item
ListView lv = getListView();
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return (long) 0;
}
}
}

No comments:

Post a Comment