Android Open Source - ShoppingList Item Adapter Event Controller From Project Back to project page ShoppingList .
License The source code is released under:
GNU General Public License
If you think the Android project ShoppingList listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package net.sledzdev.shoppinglist.adapter;
/ * f r o m w w w . j a v a 2 s . c o m * /
import android.view.View;
import android.widget.CompoundButton;
import com.google.common.eventbus.EventBus;
import com.google.common.eventbus.Subscribe;
import net.sledzdev.shoppinglist.event.EventBusFactory;
import net.sledzdev.shoppinglist.event.ItemCheckedChangedEvent;
import net.sledzdev.shoppinglist.event.ItemDeleteEvent;
import net.sledzdev.shoppinglist.event.ItemDialogCloseEvent;
import net.sledzdev.shoppinglist.event.ItemDialogOpenRequestEvent;
import net.sledzdev.shoppinglist.model.ShoppingItem;
public class ItemAdapterEventController {
private final ItemAdapter itemAdapter;
private boolean itemDialogIsOpen = false;
public ItemAdapterEventController(ItemAdapter itemAdapter) {
this.itemAdapter = itemAdapter;
}
void addEvents(ItemAdapter.ShoppingItemHolder holder, final ShoppingItem item) {
final EventBus eventBus = EventBusFactory.getEventBus();
eventBus.register(this );
setOpenItemDialogListener(holder, item, eventBus);
setDeleteListener(holder, item, eventBus);
setCheckedEvent(holder, item, eventBus);
}
@Subscribe
public void onItemDialogCloseEvent(ItemDialogCloseEvent event) {
itemDialogIsOpen = false;
}
private void setOpenItemDialogListener(ItemAdapter.ShoppingItemHolder holder, final ShoppingItem item, final EventBus eventBus) {
View.OnClickListener clickListener = new View.OnClickListener() {
@Override
public void onClick(View view) {
if (!itemDialogIsOpen) {
itemDialogIsOpen = true;
eventBus.post(new ItemDialogOpenRequestEvent(itemAdapter, item));
}
}
};
holder.itemName.setOnClickListener(clickListener);
holder.price.setOnClickListener(clickListener);
}
private void setDeleteListener(ItemAdapter.ShoppingItemHolder holder, final ShoppingItem item, final EventBus eventBus) {
holder.delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
eventBus.post(new ItemDeleteEvent(item, itemAdapter));
}
});
}
private void setCheckedEvent(ItemAdapter.ShoppingItemHolder holder, final ShoppingItem item, final EventBus eventBus) {
holder.check.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
eventBus.post(new ItemCheckedChangedEvent(itemAdapter, item, b));
}
});
}
}
Java Source Code List net.sledzdev.shoppinglist.DetailFragmentHandlersRegister.java net.sledzdev.shoppinglist.ItemDialogActivity.java net.sledzdev.shoppinglist.ShoppingListDetailActivity.java net.sledzdev.shoppinglist.ShoppingListDetailFragment.java net.sledzdev.shoppinglist.ShoppingListsActivity.java net.sledzdev.shoppinglist.ShoppingListsFragment.java net.sledzdev.shoppinglist.adapter.DataModelAdapter.java net.sledzdev.shoppinglist.adapter.DataModel.java net.sledzdev.shoppinglist.adapter.ElementWithId.java net.sledzdev.shoppinglist.adapter.ItemAdapterEventController.java net.sledzdev.shoppinglist.adapter.ItemAdapter.java net.sledzdev.shoppinglist.adapter.ListMapDataModelTest.java net.sledzdev.shoppinglist.adapter.ListMapDataModel.java net.sledzdev.shoppinglist.adapter.ShoppingListAdapterEventsHandler.java net.sledzdev.shoppinglist.adapter.ShoppingListsAdapter.java net.sledzdev.shoppinglist.content.DatabaseHelper.java net.sledzdev.shoppinglist.content.DatabaseUriContentProvider.java net.sledzdev.shoppinglist.content.ItemRowProvider.java net.sledzdev.shoppinglist.content.ItemsProvider.java net.sledzdev.shoppinglist.content.ItemsTable.java net.sledzdev.shoppinglist.content.ListRowProvider.java net.sledzdev.shoppinglist.content.ListsProvider.java net.sledzdev.shoppinglist.content.ListsTable.java net.sledzdev.shoppinglist.content.RowUriProvider.java net.sledzdev.shoppinglist.content.ShoppingListProviderTest.java net.sledzdev.shoppinglist.content.ShoppingListProvider.java net.sledzdev.shoppinglist.content.ShoppingProviderContract.java net.sledzdev.shoppinglist.content.TableUriProvider.java net.sledzdev.shoppinglist.content.UriContentProvider.java net.sledzdev.shoppinglist.event.ClearListEvent.java net.sledzdev.shoppinglist.event.EventBusFactory.java net.sledzdev.shoppinglist.event.ItemChangedEvent.java net.sledzdev.shoppinglist.event.ItemCheckedChangedEvent.java net.sledzdev.shoppinglist.event.ItemDeleteEvent.java net.sledzdev.shoppinglist.event.ItemDialogCloseEvent.java net.sledzdev.shoppinglist.event.ItemDialogOpenRequestEvent.java net.sledzdev.shoppinglist.event.ListDeleteEvent.java net.sledzdev.shoppinglist.event.ListSelectedEvent.java net.sledzdev.shoppinglist.event.ListTitleChangedEvent.java net.sledzdev.shoppinglist.event.NewItemEvent.java net.sledzdev.shoppinglist.event.NewListEvent.java net.sledzdev.shoppinglist.event.NewListRequestEvent.java net.sledzdev.shoppinglist.event.TextWatcherAdapter.java net.sledzdev.shoppinglist.event.UpdateListAdapterEvent.java net.sledzdev.shoppinglist.handlers.ClearListEventHandler.java net.sledzdev.shoppinglist.handlers.ItemChangedEventHandler.java net.sledzdev.shoppinglist.handlers.ItemCheckedChangeEventHandler.java net.sledzdev.shoppinglist.handlers.ItemDeleteEventHandler.java net.sledzdev.shoppinglist.handlers.ItemDialogOpenRequestEventHandler.java net.sledzdev.shoppinglist.handlers.ListDeleteEventHandler.java net.sledzdev.shoppinglist.handlers.ListSelectedEventHandler.java net.sledzdev.shoppinglist.handlers.ListTitleChangedEventHandler.java net.sledzdev.shoppinglist.handlers.NewItemEventHandler.java net.sledzdev.shoppinglist.handlers.NewListEventHandler.java net.sledzdev.shoppinglist.manager.ContentManagerTests.java net.sledzdev.shoppinglist.manager.ContentManager.java net.sledzdev.shoppinglist.manager.ContentTransformer.java net.sledzdev.shoppinglist.manager.ItemContentTransformer.java net.sledzdev.shoppinglist.manager.ListsContentTransformer.java net.sledzdev.shoppinglist.manager.MockContentManager.java net.sledzdev.shoppinglist.manager.OnUiThreadFutureCallback.java net.sledzdev.shoppinglist.model.ShoppingItemBuilderTest.java net.sledzdev.shoppinglist.model.ShoppingItemBuilder.java net.sledzdev.shoppinglist.model.ShoppingItem.java net.sledzdev.shoppinglist.model.ShoppingListFactoryTest.java net.sledzdev.shoppinglist.model.ShoppingListFactory.java net.sledzdev.shoppinglist.model.ShoppingList.java