/******************************************************************************* * Copyright (c) 2010 Denis Solonenko. * All rights reserved. This program and the accompanying materials * are made available under the terms of the GNU Public License v2.0 * which accompanies this distribution, and is available at * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html * * Contributors: * Denis Solonenko - initial API and implementation ******************************************************************************/ package ru.orangesoftware.financisto2.activity; import ru.orangesoftware.financisto2.R; import ru.orangesoftware.financisto2.adapter.TemplateListAdapter; import android.content.Intent; import android.database.Cursor; import android.os.Bundle; import android.view.ContextMenu; import android.view.View; import android.view.ContextMenu.ContextMenuInfo; import android.view.View.OnClickListener; import android.widget.AdapterView; import android.widget.Button; import android.widget.ImageButton; import android.widget.ListAdapter; import android.widget.TextView; import android.widget.AdapterView.OnItemLongClickListener; public class SelectTemplateActivity extends TemplatesListActivity { public static final String TEMPATE_ID = "template_id"; public static final String MULTIPLIER = "multiplier"; public static final String EDIT_AFTER_CREATION = "edit_after_creation"; private TextView multiplierText; private int multiplier = 1; public SelectTemplateActivity() { super(R.layout.templates); } @Override protected void internalOnCreate(Bundle savedInstanceState) { internalOnCreateTemplates(); getListView().setOnItemLongClickListener(new OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) { returnResult(id, true); return true; } }); Button b = (Button)findViewById(R.id.bEditTemplates); b.setOnClickListener(new OnClickListener(){ @Override public void onClick(View arg0) { setResult(RESULT_CANCELED); finish(); Intent intent = new Intent(SelectTemplateActivity.this, TemplatesListActivity.class); startActivity(intent); } }); b = (Button)findViewById(R.id.bCancel); b.setOnClickListener(new OnClickListener(){ @Override public void onClick(View arg0) { setResult(RESULT_CANCELED); finish(); } }); multiplierText = (TextView)findViewById(R.id.multiplier); ImageButton ib = (ImageButton)findViewById(R.id.bPlus); ib.setOnClickListener(new OnClickListener(){ @Override public void onClick(View arg0) { incrementMultiplier(); } }); ib = (ImageButton)findViewById(R.id.bMinus); ib.setOnClickListener(new OnClickListener(){ @Override public void onClick(View arg0) { decrementMultiplier(); } }); } protected void incrementMultiplier() { ++multiplier; multiplierText.setText("x"+multiplier); } protected void decrementMultiplier() { --multiplier; if (multiplier < 1) { multiplier = 1; } multiplierText.setText("x"+multiplier); } @Override public void registerForContextMenu(View view) { } @Override protected ListAdapter createAdapter(Cursor cursor) { return new TemplateListAdapter(this, db, cursor); } @Override protected void onItemClick(View v, int position, long id) { returnResult(id, false); } @Override protected void viewItem(View v, int position, long id) { returnResult(id, false); } @Override public void editItem(View v, int position, long id) { } @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { // do nothing } void returnResult(long id, boolean edit) { Intent intent = new Intent(); intent.putExtra(TEMPATE_ID, id); intent.putExtra(MULTIPLIER, multiplier); if (edit) intent.putExtra(EDIT_AFTER_CREATION, true); setResult(RESULT_OK, intent); finish(); } }