All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.solovyev.android.list.ListItemAdapter Maven / Gradle / Ivy

There is a newer version: 1.1.18
Show newest version
/*
 * Copyright 2013 serso aka se.solovyev
 *
 * 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.
 *
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Contact details
 *
 * Email: [email protected]
 * Site:  http://se.solovyev.org
 */

package org.solovyev.android.list;

import android.app.ListActivity;
import android.content.Context;
import android.support.v4.app.ListFragment;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ListView;

import javax.annotation.Nonnull;
import java.util.List;

/**
 * User: serso
 * Date: 4/14/12
 * Time: 8:02 PM
 */
public class ListItemAdapter
  • extends ListAdapter
  • { protected ListItemAdapter(@Nonnull Context context, @Nonnull List listItems) { super(context, 0, 0, castList(listItems)); } @SuppressWarnings("unchecked") @Nonnull private static
  • List
  • castList(List listItems) { return (List
  • ) listItems; } @Nonnull public static
  • ListItemAdapter
  • createAndAttach(@Nonnull final ListActivity listActivity, @Nonnull List listItems) { final ListItemAdapter
  • result = newInstance(listActivity, listItems); attach(listActivity, result); return result; } public static
  • void attach(@Nonnull ListActivity listActivity, @Nonnull ListItemAdapter adapter) { listActivity.setListAdapter(adapter); fillListView(listActivity.getListView(), adapter, listActivity); } @Nonnull public static
  • ListItemAdapter
  • createAndAttach(@Nonnull final ListFragment listFragment, @Nonnull List listItems) { final ListItemAdapter
  • result = newInstance(listFragment.getActivity(), listItems); attach(listFragment, result); return result; } public static
  • void attach(@Nonnull ListFragment listFragment, @Nonnull ListItemAdapter adapter) { listFragment.setListAdapter(adapter); fillListView(listFragment.getListView(), adapter, listFragment.getActivity()); } @Nonnull public static
  • ListItemAdapter
  • createAndAttach(@Nonnull final ListView listView, @Nonnull List listItems, @Nonnull Context context) { final ListItemAdapter
  • result = newInstance(context, listItems); attach(listView, result, context); return result; } public static
  • void attach(@Nonnull ListView listView, @Nonnull ListItemAdapter adapter, @Nonnull Context context) { listView.setAdapter(adapter); fillListView(listView, adapter, context); } @Nonnull public static
  • ListItemAdapter
  • createAndAttach(@Nonnull final android.app.ListFragment listFragment, @Nonnull List listItems) { final ListItemAdapter
  • result = newInstance(listFragment.getActivity(), listItems); attach(listFragment, result); return result; } public static
  • void attach(@Nonnull android.app.ListFragment listFragment, @Nonnull ListItemAdapter adapter) { listFragment.setListAdapter(adapter); fillListView(listFragment.getListView(), adapter, listFragment.getActivity()); } private static
  • void fillListView(@Nonnull final ListView lv, @Nonnull final ListItemAdapter adapter, @Nonnull final Context context) { lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { final ListItem listItem = (ListItem) lv.getItemAtPosition(position); ListItem.OnClickAction onClickAction = listItem.getOnClickAction(); if (onClickAction != null) { onClickAction.onClick(context, adapter); } } }); lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView parent, View view, int position, long id) { final ListItem listItem = (ListItem) lv.getItemAtPosition(position); ListItem.OnClickAction onLongClickAction = listItem.getOnLongClickAction(); if (onLongClickAction != null) { onLongClickAction.onClick(context, adapter); return true; } else { return false; } } }); } @Nonnull public static
  • ListItemAdapter
  • newInstance(@Nonnull Context context, @Nonnull List listItems) { return new ListItemAdapter
  • (context, listItems); } @Override public View getView(int position, View convertView, ViewGroup parent) { final ListItem listItem = getItem(position); if (convertView == null) { return listItem.build(getContext()); } else { return listItem.updateView(getContext(), convertView); } } @Override public View getDropDownView(int position, View convertView, ViewGroup parent) { return getView(position, convertView, parent); } }




  • © 2015 - 2024 Weber Informatics LLC | Privacy Policy