package com.moonshot.dev4x.ui; import java.util.List; import com.moonshot.dev4x.R; import com.moonshot.dev4x.helpers.DatabaseHelper; import com.moonshot.dev4x.models.*; import com.moonshot.dev4x.eventhandlers.IconClickListener; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.ImageView.ScaleType; import android.widget.LinearLayout; import android.util.Log; public class HomeFragment extends Fragment { DatabaseHelper dbHelper; List<SkillSets> skillSetsList; LinearLayout homeInnerContentContainer; LinearLayout homeInnerContentContainer1; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { //Inflate home layout to replace content holder. View rootView = inflater.inflate(R.layout.home, null); homeInnerContentContainer = (LinearLayout) rootView .findViewById(R.id.homeInnerContentContainerRow1); homeInnerContentContainer1 = (LinearLayout) rootView .findViewById(R.id.homeInnerContentContainerRow2); //Creating database helper object to get data. dbHelper = new DatabaseHelper(getActivity()); //Populates all the nodes for display. getNodesToDisplay(); buildLayout(); return rootView; } public void getNodesToDisplay(){ skillSetsList = dbHelper.getAllSkillSets(); } public void buildLayout(){ for(int i=0;i<skillSetsList.size();i++){ Log.v("node","node_count"); ImageView nodeImage = createImageView(i); if(i>2){ homeInnerContentContainer1.addView(nodeImage); }else { homeInnerContentContainer.addView(nodeImage); } } } public ImageView createImageView(int imageCount){ ImageView nodeImage = new ImageView(getActivity()); /////Setting up layout params LinearLayout.LayoutParams layoutParams=new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); layoutParams.gravity=Gravity.CENTER; layoutParams.rightMargin = 20; layoutParams.leftMargin = 20; nodeImage.setLayoutParams(layoutParams); nodeImage.setId(skillSetsList.get(imageCount).getId()); //////////// ////Setting up image drawable to show icon nodeImage.setScaleType(ScaleType.CENTER_INSIDE); int imageResource = getResources().getIdentifier(skillSetsList.get(imageCount).getIcon(), "drawable", getActivity().getPackageName()); Drawable res = getResources().getDrawable(imageResource); nodeImage.setImageDrawable(res); //////////////////////// ///////Adding event handler//// nodeImage.setOnClickListener(new IconClickListener(getActivity())); ////////// return nodeImage; } }