Sie sind auf Seite 1von 6

package com.example.

shoppinglist;
import java.util.ArrayList;
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import

android.support.v7.app.ActionBarActivity;
android.text.Editable;
android.text.TextWatcher;
android.database.Cursor;
android.os.Bundle;
android.util.SparseBooleanArray;
android.view.Menu;
android.view.MenuItem;
android.view.View;
android.view.View.OnClickListener;
android.widget.AdapterView;
android.widget.ArrayAdapter;
android.widget.Button;
android.widget.EditText;
android.widget.ListView;
android.widget.Spinner;
android.widget.Toast;
android.widget.AdapterView.OnItemSelectedListener;

public class ViewEssentialActivity extends ActionBarActivity implements


OnClickListener {
Spinner categorySpinner;
Button removeEssential, addStock;
ListView listItems;
int categorySelectedPosition;
DbAdapter dbAdapter;
int isEssential = 0, isStocked = 0;
ArrayList<String> allList = new ArrayList<String>();
ArrayAdapter<String> listAdapter;
EditText search;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view_essential);
categorySpinner = (Spinner) findViewById(R.id.sp_category);
categorySelectedPosition = 0;
listItems = (ListView) findViewById(R.id.lv_item_list);
addStock = (Button) findViewById(R.id.bt_add_to_stock);
removeEssential = (Button) findViewById(R.id.bt_remove_essential
);
search=(EditText) findViewById(R.id.et_search);
addStock.setOnClickListener(this);
removeEssential.setOnClickListener(this);
ArrayAdapter adapter = ArrayAdapter.createFromResource(this,
R.array.category_array, android.R.layout.simple_
spinner_item);
// Set the layout to use for each dropdown item
adapter.setDropDownViewResource(android.R.layout.simple_spinner_
dropdown_item);
categorySpinner.setAdapter(adapter);
updateListView();
categorySpinner.setOnItemSelectedListener(new OnItemSelectedList
ener() {

@Override
public void onItemSelected(AdapterView<?> arg0, View arg
1,
int arg2, long arg3) {
// TODO Auto-generated method stub
categorySelectedPosition = arg2;
updateListView();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
search.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
ViewEssentialActivity.this.listAdapter.getFilter().filte
r(s);
}
@Override
public void beforeTextChanged(CharSequence s, int start, int cou
nt,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is
present.
getMenuInflater().inflate(R.menu.view_all, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {

// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
isEssential = 0;
isStocked = 0;
SparseBooleanArray sba = listItems.getCheckedItemPositions();
int size = sba.size();
Boolean result;
switch (v.getId()) {
case R.id.bt_remove_essential:
isEssential = 0;
dbAdapter = new DbAdapter(getApplicationContext());
dbAdapter.open();
result = false;
for (int i = 0; i < sba.size(); i++) {
if (sba.valueAt(i)) {
if (categorySelectedPosition != 0) {
result = dbAdapter.updateEssenti
alItemBasedOnCategory(
allList.get(sba.
keyAt(i)), isEssential,
categorySelected
Position);
} else {
result = dbAdapter.updateEssenti
alItem(
allList.get(sba.
keyAt(i)), isEssential);
}
if (!result)
break;
}
}
updateListView();
if (result)
Toast.makeText(getApplicationContext(),
"updated Essential List successf
ully",
Toast.LENGTH_SHORT).show();
else
Toast.makeText(getApplicationContext(),

"error in updating Essential Lis


t ", Toast.LENGTH_SHORT)
.show();
dbAdapter.close();
break;
case R.id.bt_add_to_stock:
isStocked = 1;
dbAdapter = new DbAdapter(getApplicationContext());
dbAdapter.open();
result = false;
for (int i = 0; i < sba.size(); i++) {
if (sba.valueAt(i)) {
if (categorySelectedPosition != 0) {
result = dbAdapter.updateStocked
ItemBasedOnCategory(
allList.get(sba.
keyAt(i)), isStocked,
categorySelected
Position);
} else {
result = dbAdapter.updateStocked
Item(
allList.get(sba.
keyAt(i)), isStocked);
}
if (!result)
break;
}
}
if (result)
Toast.makeText(getApplicationContext(),
"updated Stock List successfully
", Toast.LENGTH_SHORT)
.show();
else
Toast.makeText(getApplicationContext(),
"error in updating stock List",
Toast.LENGTH_SHORT)
.show();
dbAdapter.close();
break;
default:
break;
}
}

public void updateListView()


{
allList.clear();
dbAdapter = new DbAdapter(getApplicationContext());
dbAdapter.open();
Cursor cursor;
if (categorySelectedPosition != 0)
cursor = dbAdapter
.getEssentialItemsByCategory(categorySel
ectedPosition);
else
cursor = dbAdapter.getEssentialItems();
if (cursor != null && cursor.moveToFirst()) {
do {
int columnIndex = cursor.getColumnIndex("name");
cursor.getString(columnIndex);
allList.add(cursor.getString(columnIndex));
} while (cursor.moveToNext());
dbAdapter.close();
}
listAdapter = new ArrayAdapter<String>(
ViewEssentialActivity.this,
android.R.layout.simple_list_item_multiple_choic
e,
allList);
listItems.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
listItems.setAdapter(listAdapter);
listAdapter.notifyDataSetChanged();
}

@Override
protected void onStart() {
// TODO Auto-generated method stub
Toast.makeText(this, "essential - on start", Toast.LENGTH_SHORT)
.show();
super.onStart();
}
@Override
protected void onRestart() {
// TODO Auto-generated method stub
Toast.makeText(this, "essential - on restart", Toast.LENGTH_SHOR

T).show();
super.onRestart();
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
Toast.makeText(this, "esential - on pause", Toast.LENGTH_SHORT).
show();
super.onPause();
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
Toast.makeText(this, "essential - on resume", Toast.LENGTH_SHORT
).show();
updateListView();
super.onResume();
}

Das könnte Ihnen auch gefallen