The constructor SimpleAdapter is undefined
<p>I'm develping an app that makes queries on reomte databases, using Json and PHP over MySQL later will be over posgress becouse is more open.</p>

<p>my problem is that my SimpleAdapter is considered undefined by the eclipse without any quickfix, the strange thing is that before adding the button when I was trying with an imput example everything was working fine. thus, I don't have any Idea of how to fix this bug.</p>

<p>the code is:</p>

<pre><code>import java.util.ArrayList;
import java.util.HashMap;

import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;

public class DataconectActivity extends ListActivity {
    EditText  searcher;
    Button btmsearch; 
    // adding strings that are going to be the tags of the nodes for the list view in the ListAdapter
    private static String TAG_PRODID = "codigo";
    private static final String TAG_NOMBRE = "nombre";
    private static final String TAG_DESCRIPCION = "descripcion";
    private static final String TAG_COLOR = "color";
    private static final String TAG_PESO =  "peso";
    private static final String TAG_PRECIO = "precio";
    private static final String TAG_DISPONIBILIDAD = "disponibilidad";
    private static final String TAG_INFO = "resultados";
    // remember to change the url to try it with the web server http://trialsols.webege.com/mobil.php after this is important to add at least 10.000 items to the db to ensure the query efficiency
    private static final String url ="http://192.168.1.50/mobilv1.php";
    ArrayList&lt;HashMap&lt;String, String&gt;&gt; jsonResultList = new ArrayList&lt;HashMap&lt;String, String&gt;&gt;();
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);



        searcher = (EditText) findViewById(R.id.searchtxt);
        btmsearch = (Button) findViewById(R.id.searchbtm);

        btmsearch.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub


                // Hashmap for ListView

                String data = searcher.getText().toString()   ;

                ArrayList&lt;NameValuePair&gt; nameValuePairs = new ArrayList&lt;NameValuePair&gt;();
                nameValuePairs.add(new BasicNameValuePair("precio",data));

                // Creating JSON Parser instance
                JsonParser jParser = new JsonParser();

                // getting JSON string from URL
                JSONArray jArray = jParser.getJSONFromUrl(nameValuePairs, url);


                try {

                    // looping through All JsonData 
                    for(int i = 0; i &lt; jArray.length() ; i++){
                        JSONObject json_data = jArray.getJSONObject(i);
                        String nombre = json_data.getString("nombre");
                        String prodid = json_data.getString("prodid");
                        String descripcion = json_data.getString("descripcion");
                        String color = json_data.getString("color");
                        String peso = json_data.getString("peso");
                        String precio = json_data.getString("precio");
                        String disponibilidad = json_data.getString("disponibilidad");  
                        // creating new HashMap
                        HashMap&lt;String, String&gt; map = new HashMap&lt;String, String&gt;();

                        // adding each child node to HashMap key =&gt; value
                        map.put(TAG_PRODID, prodid);
                        map.put(TAG_NOMBRE, nombre);
                        map.put(TAG_DESCRIPCION, descripcion);
                        map.put(TAG_COLOR, color);
                        map.put(TAG_PESO, peso);
                        map.put(TAG_PRECIO, precio);
                        map.put(TAG_DISPONIBILIDAD, disponibilidad);
                        // adding HashList to ArrayList
                        jsonResultList.add(map);

                    }
                }

                catch(JSONException e){
                    Log.e("log_tag", "Error parsing data "+e.toString());
                }                

                //adding the results of the parsed JSON data to a listView using a ListAdapter
                ListAdapter adapter = new SimpleAdapter(this, jsonResultList,
                        R.layout.datalistitems,
                        new String[] { TAG_NOMBRE, TAG_PRECIO, TAG_DISPONIBILIDAD }, new int[] {
                        R.id.dbnombretxt, R.id.dbpreciotxt, R.id.dbdisponibilidadtxt });

                // add in a ListActivity We need to make
                setListAdapter(adapter);    
                // initialize a ListView to display the single item information
                ListView lv = getListView();
                lv.setTextFilterEnabled(true);
                //  generate the action when an item is clicked
                lv.setOnItemClickListener(new OnItemClickListener() {
                    public void onItemClick(AdapterView&lt;?&gt; parent, View view,
                            int position, long id) {
                        // When clicked, create a view with the values
                        // getting values from selected ListItem
                        String name = ((TextView) view.findViewById(R.id.dbnombretxt)).getText().toString();
                        String cost = ((TextView) view.findViewById(R.id.dbpreciotxt)).getText().toString();
                        String stock = ((TextView) view.findViewById(R.id.dbdisponibilidadtxt)).getText().toString();

                        // Starting new intent
                        Intent in = new Intent(getApplicationContext(), SearchResults.class);
                        in.putExtra(TAG_NOMBRE, name);
                        in.putExtra(TAG_PRECIO, cost);
                        in.putExtra(TAG_DISPONIBILIDAD, stock);
                        startActivity(in);
                    }
                });

            }

        });

    }

} 
</code></pre>

<p>the error exactly is on:</p>

<pre><code>adapter = new SimpleAdapter(this, jsonResultList,
                        R.layout.datalistitems,
                        new String[] { TAG_NOMBRE, TAG_PRECIO, TAG_DISPONIBILIDAD }, new int[] {
                        R.id.dbnombretxt, R.id.dbpreciotxt, R.id.dbdisponibilidadtxt });
</code></pre>
