package com.resl.sensors; import java.util.ArrayList; import android.app.Activity; import android.app.ListActivity; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.os.Bundle; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.AdapterView.AdapterContextMenuInfo; import android.widget.ArrayAdapter; import android.widget.EditText; import android.widget.ImageButton; import android.widget.ListView; import android.widget.Toast; public class ActivityAddNewActivity extends ListActivity { ArrayList<String> activities; Editor editor; SharedPreferences sharedPreferences; EditText etAddActivity; ImageButton ibAddActivity; ArrayAdapter<String> adapter; ListView listView; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_add_activity); etAddActivity = (EditText) findViewById(R.id.edittext_add_activity); ibAddActivity = (ImageButton) findViewById(R.id.imagebutton_add_activity); sharedPreferences = getSharedPreferences( Constants.PREFERENCES_KEY_APPLICATION, Activity.MODE_PRIVATE); editor = sharedPreferences.edit(); activities = new ArrayList<String>(); getActivities(); setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, activities)); listView = getListView(); adapter = (ArrayAdapter<String>) listView.getAdapter(); registerForContextMenu(listView); ibAddActivity.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { String text = etAddActivity.getText().toString(); if (text.length() > 0) { activities.add(text); etAddActivity.setText(""); adapter.notifyDataSetChanged(); } else { Toast.makeText(ActivityAddNewActivity.this, "Please write activity name !", Toast.LENGTH_SHORT) .show(); } } }); } public void onDestroy() { String activityString = ""; // Save data as preferences for (int i = 0; i < activities.size(); i++) { activityString += activities.get(i); if (i != (activities.size() - 1)) { activityString += ","; } } editor.putString(Constants.KEY_ADD_ACTIVTY, activityString); editor.commit(); super.onDestroy(); } @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu_add_activity_context, menu); } @Override public boolean onContextItemSelected(MenuItem item) { AdapterContextMenuInfo info = (AdapterContextMenuInfo) item .getMenuInfo(); switch (item.getItemId()) { case R.id.menu_add_activity_delete: activities.remove(info.position); adapter.notifyDataSetChanged(); default: return super.onContextItemSelected(item); } } private void getActivities() { if (sharedPreferences != null) { String combined = sharedPreferences.getString( Constants.KEY_ADD_ACTIVTY, ""); String[] splitString = combined.split(","); for (int i = 0; i < splitString.length; i++) { if (splitString[i].length() > 0) { activities.add(splitString[i]); } } } } }