Home | History | Annotate | Download | only in fragmenttransition
      1 /*
      2  * Copyright 2014 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *     http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 
     17 package com.example.android.fragmenttransition;
     18 
     19 import android.view.LayoutInflater;
     20 import android.view.View;
     21 import android.view.ViewGroup;
     22 import android.widget.BaseAdapter;
     23 import android.widget.ImageView;
     24 import android.widget.TextView;
     25 
     26 class MeatAdapter extends BaseAdapter {
     27 
     28     private final LayoutInflater mLayoutInflater;
     29     private final int mResourceId;
     30 
     31     public MeatAdapter(LayoutInflater inflater, int resourceId) {
     32         mLayoutInflater = inflater;
     33         mResourceId = resourceId;
     34     }
     35 
     36     @Override
     37     public int getCount() {
     38         return Meat.MEATS.length;
     39     }
     40 
     41     @Override
     42     public Meat getItem(int position) {
     43         return Meat.MEATS[position];
     44     }
     45 
     46     @Override
     47     public long getItemId(int position) {
     48         return Meat.MEATS[position].resourceId;
     49     }
     50 
     51     @Override
     52     public View getView(int position, View convertView, ViewGroup parent) {
     53         final View view;
     54         final ViewHolder holder;
     55         if (null == convertView) {
     56             view = mLayoutInflater.inflate(mResourceId, parent, false);
     57             holder = new ViewHolder();
     58             assert view != null;
     59             holder.image = (ImageView) view.findViewById(R.id.image);
     60             holder.title = (TextView) view.findViewById(R.id.title);
     61             view.setTag(holder);
     62         } else {
     63             view = convertView;
     64             holder = (ViewHolder) view.getTag();
     65         }
     66         bindView(holder, position);
     67         return view;
     68     }
     69 
     70     public void bindView(ViewHolder holder, int position) {
     71         Meat meat = getItem(position);
     72         holder.image.setImageResource(meat.resourceId);
     73         holder.title.setText(meat.title);
     74     }
     75 
     76     public static class ViewHolder {
     77         public ImageView image;
     78         public TextView title;
     79     }
     80 
     81 }
     82