Android Open Source - trivial-lists Item Fragment Shop






From Project

Back to project page trivial-lists.

License

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.

Java Source Code

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();
      }
  }

}




Java Source Code List

org.hbabcock.triviallists.CategoryActivity.java
org.hbabcock.triviallists.CategoryDeleteDialog.java
org.hbabcock.triviallists.CategoryFragment.java
org.hbabcock.triviallists.CategoryItemManager.java
org.hbabcock.triviallists.Category.java
org.hbabcock.triviallists.GenericEditorDialogFragment.java
org.hbabcock.triviallists.ItemFragmentEdit.java
org.hbabcock.triviallists.ItemFragmentShop.java
org.hbabcock.triviallists.ItemFragment.java
org.hbabcock.triviallists.ItemPagerActivity.java
org.hbabcock.triviallists.Item.java
org.hbabcock.triviallists.SingleFragmentActivity.java
org.hbabcock.triviallists.TrivialListJSONSerializer.java