Advertisement
Suneku

Android Adding extra item on listview

Mar 16th, 2012
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.76 KB | None | 0 0
  1. package org.example.veniew;
  2. import greendroid.widget.ActionBarItem;
  3. import greendroid.app.GDListActivity;
  4. import greendroid.graphics.drawable.ActionBarDrawable;
  5. import greendroid.widget.NormalActionBarItem;
  6. import greendroid.widget.ActionBarItem.Type;
  7.  
  8. import java.util.ArrayList;
  9. import java.util.HashMap;
  10.  
  11. import org.example.veniew.library.JSONParserList;
  12. import org.json.JSONArray;
  13. import org.json.JSONException;
  14. import org.json.JSONObject;
  15.  
  16. import android.app.ListActivity;
  17. import android.content.Intent;
  18. import android.os.Bundle;
  19. import android.view.View;
  20. import android.widget.AdapterView;
  21. import android.widget.ListAdapter;
  22. import android.widget.ListView;
  23. import android.widget.SimpleAdapter;
  24. import android.widget.TextView;
  25. import android.widget.AdapterView.OnItemClickListener;
  26.  
  27. public class CategoryActivity extends GDListActivity{
  28.    
  29.     //URL request
  30.     private static String url = "http://10.0.2.2/veniew/catelist.php/";
  31.    
  32.     // JSON Node names
  33.      private static final String TAG_CATELIST = "catelist";
  34.      private static final String TAG_CATEGORIES = "categories";
  35.  
  36.      JSONArray catelist = null;
  37.  
  38.      @Override
  39.         public void onCreate(Bundle savedInstanceState) {
  40.             super.onCreate(savedInstanceState);
  41.  
  42.             // Hashmap for ListView
  43.             ArrayList<HashMap<String, String>> cateList = new ArrayList<HashMap<String, String>>();
  44.      
  45.             // Creating JSON Parser instance
  46.             JSONParserList jParser = new JSONParserList();
  47.      
  48.             // getting JSON string from URL
  49.             JSONObject json = jParser.getJSONFromUrl(url);
  50.      
  51.             try {
  52.                 // Getting Array of Categories 
  53.                 catelist = json.getJSONArray(TAG_CATELIST);
  54.      
  55.                 // looping through All Categories
  56.                 for(int i = 0; i < catelist.length(); i++){
  57.                     JSONObject c = catelist.getJSONObject(i);
  58.                    
  59.                  // Storing each json item in variable      
  60.                     String categories = c.getString(TAG_CATEGORIES);
  61.  
  62.                     HashMap<String, String> map = new HashMap<String, String>();
  63.                
  64.                     map.put(TAG_CATEGORIES, categories);
  65.                    
  66.                     cateList.add(map);
  67.                 }
  68.  
  69.             } catch (JSONException e) {
  70.                 e.printStackTrace();
  71.             }
  72.        
  73.             /**
  74.              * Updating parsed JSON data into ListView
  75.              * */
  76.        
  77.             ListAdapter adapter = new SimpleAdapter(this, cateList,
  78.                     R.layout.list_cate,
  79.                     new String[] {TAG_CATEGORIES }, new int[] {
  80.                             R.id.categories});
  81.      
  82.             setListAdapter(adapter);
  83.            
  84.           //to add more new items in list
  85.             adapter.add(new HashMap<String, String>().put(TAG_CATEGORIES, "All"));
  86.  
  87.             //refreshing the contents of list to show newly added items
  88.             adapter.notifyDataSetChanged();
  89.      
  90.             ListView lv = getListView();
  91.  
  92.             // Launching new screen on Selecting Single ListItem
  93.             lv.setOnItemClickListener(new OnItemClickListener() {
  94.      
  95.                 @SuppressWarnings("unchecked")
  96.                 @Override
  97.                 public void onItemClick(AdapterView<?> parent, View view,
  98.                         int position, long id) {
  99.    
  100.                     HashMap<String, String> map = new HashMap<String, String>();
  101.                     map = (HashMap<String, String>) getListAdapter().getItem(position);
  102.                    
  103.                     String categories = ((TextView) view.findViewById(R.id.categories)).getText().toString();
  104.  
  105.                     // Starting new intent
  106.                     Intent in = new Intent(getApplicationContext(), ListVenueActivity.class);
  107.                     in.putExtra(TAG_CATEGORIES, categories);
  108.                     startActivity(in);
  109.                 }
  110.             });
  111.      }
  112. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement