Back to project page trivial-lists.
The source code is released under:
MIT License
If you think the Android project trivial-lists listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package org.hbabcock.triviallists; /*from w ww.jav a 2s . c o m*/ import java.util.ArrayList; import java.util.UUID; import android.annotation.TargetApi; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.AdapterView.OnItemLongClickListener; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.Spinner; import android.widget.TextView; public class ItemFragmentShop extends ItemFragment { private static final String TAG = "ItemFragmentShop"; public class ItemAdapter extends ArrayAdapter<Item>{ private ArrayList<Item> mList; public ItemAdapter(ArrayList<Item> items){ super(getActivity(), 0, items); mList = items; } @Override public int getCount(){ int count = 0; for (int i = 0; i < mList.size();i++){ if (mList.get(i).getCount() > 0){ count++; } } return count; } @Override public Item getItem(int position){ int count = -1; for (int i = 0; i < mList.size(); i++){ if (mList.get(i).getCount() > 0){ count++; } if (count == position){ return mList.get(i); } } Log.i(TAG, "item at position " + position + " not found!"); return mList.get(0); } @Override public View getView(int position, View convertView, ViewGroup parent){ if (convertView == null){ convertView = getActivity().getLayoutInflater().inflate(R.layout.item_fragment_list_item, null); } Item i = getItem(position); Log.i(TAG, "name: " + i.getName()); // Configure text. TextView tv = (TextView)convertView.findViewById(R.id.item_list_item); tv.setText(i.getName()); NameClickListener nl = new NameClickListener(); nl.setItem(i); tv.setOnClickListener(nl); // Configure spinner. Spinner sp = (Spinner)convertView.findViewById(R.id.amount_spinner); sp.setSelection(i.getCount()); sp.setEnabled(false); return convertView; } } // This not called.. private class NameClickListener implements OnClickListener { private Item mItem; public void onClick(View view){ mItem.setCount(0); ((ItemAdapter)getListAdapter()).notifyDataSetChanged(); } public void setItem(Item item){ mItem = item; } } public static ItemFragmentShop newInstance(UUID categoryId){ ItemFragmentShop fragment = new ItemFragmentShop(); fragment.setArguments(setBundle(categoryId)); return fragment; } @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); Log.i(TAG, "onCreate"); ItemAdapter adapter = new ItemAdapter(CategoryItemManager.get(getActivity()).getItems(getCategory())); setListAdapter(adapter); } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); ListView lv = getListView(); lv.setOnItemLongClickListener(new OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView<?> parent, View view,int position, long id) { Log.i(TAG, "onItemLongClick, " + position); ItemAdapter adapter = (ItemAdapter)getListAdapter(); adapter.getItem(position).setCount(0); adapter.notifyDataSetChanged(); return true; } }); } /* @Override public void onListItemClick(ListView l, View v, int position, long id){ Log.i(TAG, "onListItemClick, " + position); ItemAdapter adapter = (ItemAdapter)getListAdapter(); adapter.getItem(position).setCount(0); adapter.notifyDataSetChanged(); } */ @Override public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); if (isVisibleToUser) { ItemAdapter adapter = (ItemAdapter)getListAdapter(); adapter.notifyDataSetChanged(); } } }