开发者

putting bitmap image into image view of listview

I want to put bitmap images into ImageView of ListView. i changed image from url to bitmap image. I have 10 images and i have to put the images in each item of the ListView. Is there any method other than Lazy Adapter ?? Thanks in advance!!!

this is my code

public class Propertylist extends ListActivity {

    String proptype;
    String prop;
    String estimate;
    String photo;
    String get;
    String[] data;
    TextView text;
    URL aURL;
    InputStream is = null;
    String result = "";
    JSONObject jArray = null;
    //Hashtable<String开发者_Python百科,Bitmap> imagemap;
    private ArrayList<NameValuePair> nameValuePairs;
    private LayoutInflater inflater;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main3);
        text = (TextView) findViewById(R.id.text);
        Toast.makeText(getApplicationContext(), "Displaying popertylist for zipcode "+get, Toast.LENGTH_LONG).show();

        ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();
        //ArrayList<Hashtable<String, Bitmap>> mylist1 = new ArrayList<Hashtable<String, Bitmap>>();

        Bundle bundle = this.getIntent().getExtras();
         get = bundle.getString("name");

         try{
                HttpClient httpclient = new DefaultHttpClient();
                HttpPost httppost = new HttpPost("http://www.propertyhookup.com/mobile/propertylist.php");
                nameValuePairs = new ArrayList<NameValuePair>(1);
                nameValuePairs.add(new BasicNameValuePair("zipcode", get.trim()));
                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                HttpResponse response = httpclient.execute(httppost);
                HttpEntity entity = response.getEntity();
                is = entity.getContent();

        }catch(Exception e){
                Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_LONG).show();
        }

      //convert response to string
        try{
                BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
                StringBuilder sb = new StringBuilder();
                String line = null;
                while ((line = reader.readLine()) != null) {
                        sb.append(line + "\n");
                }
                is.close();
                result=sb.toString();
        }catch(Exception e){
                Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_LONG).show();
        }
        if(result.length()<= 7){
            Toast.makeText(getApplicationContext(), "No properties for this zipcode or check your zipcode ", Toast.LENGTH_LONG).show();
            text.setText("No properties for this zipcode or check your zipcode");
        }
        else{
        try{

         jArray = new JSONObject(result);            
        }catch(JSONException e){
            Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_LONG).show();
        }

        //JSONObject json = JSONfunctions.getJSONfromURL("http://192.168.1.111/propertyhookup.com/mobile/propertylist.php");

        try{

            JSONArray  earthquakes = jArray.getJSONArray("earthquakes");

            for(int i=0;i<10;i++){                      
                HashMap<String, String> map = new HashMap<String, String>();

                //imagemap = new Hashtable<String, Bitmap>();

                JSONObject e = earthquakes.getJSONObject(i);



                if(e.getString("property_type").contains("1")) {
                    proptype ="Single Family Home";
                }else if(e.getString("property_type").contains("2")) {
                    proptype="Condo";
                }else if(e.getString("property_type").contains("3")) {
                    proptype="Townhouse";
                }
                if(e.getString("estimated_price").contains("0")) {
                    estimate = "Not Enough Market Value";
                    //estimat = (TextView) findViewById(R.id.estimat);
                    //estimat.setTextColor(Color.rgb(0, 0, 23));
                }else {
                    estimate = "$"+e.getString("estimated_price");
                }
                photo = e.getString("photo1");


                map.put("id",  String.valueOf(i));
                map.put("percent", e.getString("percentage_depreciation_value")+"%");
                map.put("propertyid", "#"+e.getString("property_id")+"  ");
                map.put("cityname",e.getString("city_name")+",");
                map.put("statecode",e.getString("state_code"));
                map.put("propertytype","| "+ proptype);
                map.put("footage", e.getString("house_square_footage")+"  Sq.Ft");
                map.put("bathroom", "| "+e.getString("bathrooms")+"  Bath, ");
                map.put("bedroom", e.getString("bathrooms")+"  Bedrooms");
                map.put("price", "List Price: $"+e.getString("property_price"));
                map.put("estimated", "Base Market Value: "+estimate);
                //map.put("photos",photo );
                mylist.add(map);


            }       
        }catch(JSONException e)        {
            Toast.makeText(getApplicationContext(),e.getMessage(), Toast.LENGTH_LONG).show();
        }
        try
        {
                aURL = new URL(photo);
        }
        catch (MalformedURLException e1)
        {
                // TODO Auto-generated catch block
                e1.printStackTrace();
        }
        URLConnection conn = null;
        try
        {
                conn = aURL.openConnection();
        }
        catch (IOException e1)
        {
                // TODO Auto-generated catch block
                e1.printStackTrace();
        }
        try
        {
                conn.connect();
        }
        catch (IOException e1)
        {
                // TODO Auto-generated catch block
                e1.printStackTrace();
        }
        InputStream is = null;
        try
        {
                is = conn.getInputStream();
        }
        catch (IOException e1)
        {
                // TODO Auto-generated catch block
                e1.printStackTrace();
        }
        BufferedInputStream bis = new
BufferedInputStream(is,8*1024);
        Bitmap bm = BitmapFactory.decodeStream(bis);
        //imagemap.put("im",bm);
       // mylist1.add(imagemap);


        ListAdapter adapter = new SimpleAdapter(this, mylist , R.layout.main4, 
                       new String[] { "percent","propertyid",  "cityname", "statecode", "propertytype", "footage", "bathroom", "bedroom", "price", "estimated" }, 
                        new int[] { R.id.percent, R.id.property_id,  R.id.city_name, R.id.state_code, R.id.prop_type, R.id.foot, R.id.bath, R.id.bed, R.id.list, R.id.estimat});

        setListAdapter(adapter);



        final ListView lv = getListView();
        lv.setTextFilterEnabled(true);  
        lv.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {              
                @SuppressWarnings("unchecked")
                HashMap<String, String> o = (HashMap<String, String>) lv.getItemAtPosition(position);                   
                Toast.makeText(Propertylist.this, "ID '" + o.get("id") + "' was clicked.", Toast.LENGTH_SHORT).show(); 

            }
        });

        }
    }



    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.icon:     //Toast.makeText(this, "You pressed the icon!", Toast.LENGTH_LONG).show();
            displaylogin();
                                break;
            case R.id.text:     //Toast.makeText(this, "You pressed the text!", Toast.LENGTH_LONG).show();
            displayproperty();
                                break;
           // case R.id.icontext: Toast.makeText(this, "You pressed the icon and text!", Toast.LENGTH_LONG).show();
             //                   break;
        }
        return true;
    }
    private void displaylogin() {
        startActivity(new Intent(this,Changezip.class));
        finish();
    }
    private void displayproperty() {
        startActivity(new Intent(this,property.class));
    }

}


You might want to check out the GreenDroid library; it makes doing things like this trivial.

Please note that you have asked 4 previous questions that received answers and you have not accepted any of them. This community functions based on people accepting answers and if you don't start accepting answers you've found useful, you may find that people stop answering you.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜