content: /**
   * Copyright (C) 2010-2016 eBusiness Information, Excilys Group
   *
   * Licensed under the Apache License, Version 2.0 (the "License"); you may not
   * use this file except in compliance with the License. You may obtain a copy of
   * the License at
   *
   * http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed To in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
   * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
   * License for the specific language governing permissions and limitations under
   * the License.
   */
  package org.androidannotations.test;
  
  import java.util.ArrayList;
  import java.util.List;
  
  import org.androidannotations.annotations.AfterViews;
  import org.androidannotations.annotations.EActivity;
  import org.androidannotations.annotations.ItemClick;
  import org.androidannotations.annotations.ItemLongClick;
  import org.androidannotations.annotations.ItemSelect;
  import org.androidannotations.annotations.ViewById;
  
  import android.app.Activity;
  import android.widget.ArrayAdapter;
  import android.widget.ListView;
  import android.widget.Spinner;
  
  @EActivity(R.layout.item_clicks_handled)
  public class ItemClicksHandledActivity extends Activity {
  
  	@ViewById
  	ListView listView;
  
  	@ViewById
  	Spinner spinner;
  
  	@ViewById
  	ListView listViewWithArgument;
  
  	@ViewById
  	ListView listViewWithArgumentWithParameterType;
  
  	@ViewById
  	Spinner spinnerWithArgument;
  
  	@ViewById
  	ListView listViewWithPosition;
  
  	@ViewById
  	ListView listViewWithOneParam;
  
  	boolean spinnerItemClicked = false;
  	boolean listViewItemClicked = false;
  	boolean listViewParametrizedItemClicked = false;
  
  	String spinnerWithArgumentSelectedItem = null;
  	String listViewWithArgumentSelectedItem = null;
  
  	int listViewWithPositionClickedPosition;
  
  	boolean listViewWithPositionItemSelected;
  	int listViewWithPositionItemSelectedPosition;
  
  	private ArrayAdapter<CharSequence> adapter;
  	private ArrayAdapter<ArrayList<String>> parametrizedAdapter;
  
  	boolean listViewWithOneParamItemSelected;
  
  	@AfterViews
  	void initView() {
  		adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, R.layout.simple_spinner_item);
  		adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  
  		parametrizedAdapter = new ArrayAdapter<ArrayList<String>>(this, android.R.layout.simple_list_item_1, stringLists());
  
  		spinner.setAdapter(adapter);
  		listView.setAdapter(adapter);
  		spinnerWithArgument.setAdapter(adapter);
  		listViewWithArgument.setAdapter(adapter);
  		listViewWithArgumentWithParameterType.setAdapter(parametrizedAdapter);
  		listViewWithPosition.setAdapter(adapter);
  		listViewWithOneParam.setAdapter(adapter);
  		spinnerItemClicked = false;
  		listViewItemClicked = false;
  		listViewWithPositionItemSelected = false;
  		listViewWithPositionClickedPosition = 0;
  		listViewWithOneParamItemSelected = false;
  		listViewWithPositionItemSelectedPosition = 0;
  	}
  
  	@ItemClick
  	public void listView() {
  		listViewItemClicked = true;
  	}
  
  	@ItemClick(R.id.listViewWithArgument)
  	public void listViewWithArgument(String selectedItem) {
  		listViewWithArgumentSelectedItem = selectedItem;
  	}
  
  	@ItemClick(R.id.listViewWithArgumentWithParameterType)
  	protected void listViewWithArgumentWithParameterType(ArrayList<String> item) {
  		listViewParametrizedItemClicked = true;
  	}
  
  	@ItemClick(R.id.listViewWithArgumentWithGenericWildcard)
  	protected void listViewWithArgumentWithGenericWildcardType(ArrayList<?> item) {
  		listViewParametrizedItemClicked = true;
  	}
  
  	@ItemSelect
  	public void spinner(boolean selected, int position) {
  		spinnerItemClicked = true;
  	}
  
  	@ItemSelect
  	public void spinnerWithArgument(boolean selected, String selectedItem) {
  		spinnerWithArgumentSelectedItem = selectedItem;
  	}
  
  	@ItemClick
  	void listViewWithPosition(int position) {
  		listViewWithPositionClickedPosition = position;
  	}
  
  	@ItemSelect
  	void listViewWithPositionItemSelected(boolean selected, int position) {
  		listViewWithPositionItemSelected = selected;
  		listViewWithPositionItemSelectedPosition = position;
  	}
  
  	@ItemSelect
  	void listViewWithOneParamItemSelected(boolean selected) {
  		listViewWithOneParamItemSelected = selected;
  	}
  
  	@ItemSelect(R.id.listView)
  	void onItemSelected(boolean selected, int position) {
  
  	}
  
  	@ItemLongClick
  	void listViewWithPositionItemLongClicked(int position) {
  
  	}
  
  	@ItemLongClick(R.id.listViewWithArgumentWithParameterType)
  	protected void listViewWithArgumentWithParameterTypeLongClick(ArrayList<String> item) {
  	}
  
  	@ItemLongClick(R.id.listViewWithArgumentWithGenericWildcard)
  	protected void listViewWithArgumentWithGenericWildcardTypeLongClick(ArrayList<?> item) {
  	}
  
  	private List<ArrayList<String>> stringLists() {
  		List<ArrayList<String>> stringLists = new ArrayList<ArrayList<String>>();
  		for (int i = 0; i < 10; i++) {
  			ArrayList<String> stringList = new ArrayList<String>();
  			for (int j = 0; j < 4; j++) {
  				stringList.add(i + " : " + j);
  			}
  			stringLists.add(stringList);
  		}
  		return stringLists;
  	}
  
  }
  