Advertisement
moonlightcheese

listview not refreshing

Jun 28th, 2011
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.94 KB | None | 0 0
  1. package com.conceptualsystems.kitmobile;
  2.  
  3. import java.util.*;
  4.  
  5. import android.app.*;
  6. import android.os.*;
  7. import android.content.*;
  8. import android.widget.*;
  9. import android.view.*;
  10. import android.util.Log;
  11.  
  12. public class ShipActivity extends Activity
  13. {
  14.     //UI elements
  15.     private ListView mShipKitListView;
  16.     private LayoutInflater mInflater;
  17.     private SharedPreferences mPrefs;
  18.     private List<Map<String, String>> mShipKitList;
  19.     private SimpleAdapter mShipKitAdapter;
  20.    
  21.     //constants
  22.     private String LOG_TAG = "KitMobile - ShipActivity.java";
  23.    
  24.     /** Called when the activity is first created. */
  25.     @Override
  26.     public void onCreate(Bundle savedInstanceState)
  27.     {
  28.         super.onCreate(savedInstanceState);
  29.        
  30.         mPrefs = getSharedPreferences("kitmobileprefs", Context.MODE_PRIVATE);
  31.         mInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  32.        
  33.         //data init
  34.         mShipKitList = new ArrayList<Map<String, String>>();
  35.        
  36.         initScreen();
  37.     }
  38.    
  39.     private void initScreen() {
  40.         setContentView(R.layout.ship);
  41.         mShipKitListView = (ListView)findViewById(R.id.kit_list);
  42.         mShipKitAdapter = new SimpleAdapter(
  43.                 this,
  44.                 mShipKitList,
  45.                 R.layout.ship_list_item,
  46.                 new String[] { "kit_id","net_units","net_uom","gross_units","gross_uom","product_name" },
  47.                 new int[] { R.id.kit_id, R.id.net_units, R.id.net_uom, R.id.gross_units, R.id.gross_uom, R.id.product_name }
  48.             );
  49.         mShipKitListView.setAdapter(mShipKitAdapter);
  50.     }
  51.    
  52.     private void addFakeListItem(String id) {
  53.         int position = mShipKitList.size();
  54.         mShipKitList.add(new HashMap<String, String>());
  55.         mShipKitList.get(position).put("kit_id", id);
  56.         mShipKitList.get(position).put("net_units", "5027");
  57.         mShipKitList.get(position).put("net_uom", "lbs");
  58.         mShipKitList.get(position).put("gross_units", "5155");
  59.         mShipKitList.get(position).put("gross_uom", "lbs");
  60.         mShipKitList.get(position).put("product_name", "COPPER #1");
  61.        
  62.         //mShipKitAdapter.notifyDataSetInvalidated();
  63.         mShipKitAdapter.notifyDataSetChanged();
  64.         //mShipKitListView.invalidate();
  65.     }
  66.    
  67.     // OPTIONS MENU
  68.     ///////////////
  69.     public boolean onCreateOptionsMenu(Menu menu) {
  70.         MenuInflater inflater = getMenuInflater();
  71.         inflater.inflate(R.menu.ship_options, menu);
  72.         return true;
  73.     }
  74.    
  75.     public boolean onOptionsItemSelected(MenuItem item) {
  76.         switch(item.getItemId()) {
  77.             case R.id.opt_add_item:
  78.                 //add a fake item to the list
  79.                 Random gen = new Random();
  80.                 addFakeListItem(new Integer(gen.nextInt(5000)).toString());
  81.                 Log.i(LOG_TAG, mShipKitList.toString());
  82.                 return true;
  83.             case R.id.opt_transmit:
  84.                 //mShipKitAdapter.notifyDataSetChanged();
  85.                 //mShipKitAdapter.notifyDataSetInvalidated();
  86.                 Log.i(LOG_TAG, mShipKitList.toString());
  87.                 //((ArrayAdapter)mShipKitListView.getAdapter()).notifyDataSetChanged();
  88.                 //mShipKitListView.invalidate();
  89.                 return true;
  90.             default:
  91.                 super.onOptionsItemSelected(item);
  92.                 return true;
  93.         }
  94.     }
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement