/*
* Copyright (C) 2013 The Android Open Source Project
*
* 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.
*/
package com.eugene.fithealthmaingit.Databases_Adapters_ListViews.LogFood;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.TextView;
import com.eugene.fithealthmaingit.R;
import java.util.List;
public class LogAdapterAll extends ArrayAdapter<LogMeal> {
Context mContext;
public static List<LogMeal> mLogs;
public LogAdapterAll(Context context, int textViewResourceId, List<LogMeal> logs) {
super(context, textViewResourceId);
mContext = context;
mLogs = logs;
}
public void setLogs(List<LogMeal> logs) {
mLogs = logs;
}
public List<LogMeal> getLogs() {
return mLogs;
}
public void add(LogMeal log) {
mLogs.add(log);
}
public void remove(LogMeal log) {
LogAdapterAll.mLogs.remove(log);
}
public int getCount() {
return mLogs.size();
}
public LogMeal getItem(int position) {
return mLogs.get(position);
}
CheckBox cbFav;
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final LogMeal mLog = mLogs.get(position);
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflater.inflate(R.layout.list_log_favorites, parent, false);
TextView mFoodName = (TextView) v.findViewById(R.id.food_name);
TextView mBrand = (TextView) v.findViewById(R.id.food_brand);
mFoodName.setText(mLog.getMealName());
mBrand.setText(mLog.getBrand());
cbFav = (CheckBox) v.findViewById(R.id.cbFav);
if (v != null && cbFav != null) {
if (mLog.getFavorite().equals("favorite")) {
cbFav.setChecked(true);
} else cbFav.setChecked(false);
cbFav.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!cbFav.isChecked()) {
mLog.setFavorite("false");
mLog.edit();
} else {
mLog.setFavorite("favorite");
mLog.edit();
}
}
});
}
View viewDivider = v.findViewById(R.id.viewDivider);
if (getCount() - 1 == position) {
viewDivider.setVisibility(View.GONE);
} else {
viewDivider.setVisibility(View.VISIBLE);
}
return v;
}
}