tuttelikz

TrendsMainFragment [with Bars]

Dec 14th, 2017
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.26 KB | None | 0 0
  1. package com.example.iptea.hearingclub.fragments;
  2.  
  3.  
  4. import android.graphics.Color;
  5. import android.os.Bundle;
  6. import android.util.Log;
  7. import android.view.LayoutInflater;
  8. import android.view.View;
  9. import android.view.ViewGroup;
  10. import android.support.v4.app.Fragment;
  11. import android.widget.Button;
  12.  
  13. import com.example.iptea.hearingclub.App;
  14. import com.example.iptea.hearingclub.HearingResults;
  15. import com.example.iptea.hearingclub.HourAxisValueFormatter;
  16. import com.example.iptea.hearingclub.MyMarkerView;
  17. import com.example.iptea.hearingclub.R;
  18. import com.example.iptea.hearingclub.RealmHelper;
  19. import com.example.iptea.hearingclub.activities.MainActivity;
  20. import com.github.mikephil.charting.charts.BarChart;
  21. import com.github.mikephil.charting.components.AxisBase;
  22. import com.github.mikephil.charting.components.XAxis;
  23. import com.github.mikephil.charting.data.BarData;
  24. import com.github.mikephil.charting.data.realm.implementation.RealmBarDataSet;
  25. import com.github.mikephil.charting.interfaces.datasets.IBarDataSet;
  26.  
  27. import java.util.ArrayList;
  28.  
  29. import io.realm.Realm;
  30. import io.realm.RealmResults;
  31.  
  32. /**
  33.  * A simple {@link Fragment} subclass.
  34.  */
  35. public class TrendsMainFragment extends Fragment {
  36.  
  37.     private Button[] btn = new Button[4];
  38.     private Button btn_unfocus;
  39.     private int[] btn_id = {R.id.btn0, R.id.btn1, R.id.btn2, R.id.btn3};
  40.     private long referenceTimestamp;
  41.     private Realm realm;
  42.     //HearingResults hearingAllResults;
  43.  
  44.     public TrendsMainFragment() {
  45.         // Required empty public constructor
  46.     }
  47.  
  48.  
  49.     @Override
  50.     public View onCreateView(LayoutInflater inflater, ViewGroup container,
  51.                              Bundle savedInstanceState) {
  52.         // Inflate the layout for this fragment
  53.         final View root = inflater.inflate(R.layout.fragment_trends_main, container, false);
  54.  
  55.         realm = Realm.getDefaultInstance();
  56.  
  57.  
  58.         BarChart barChart = root.findViewById(R.id.barchart1);
  59.  
  60. /*        RealmResults<Score> results = realm.where(Score.class).findAll();
  61.         RealmBarDataSet<Score> dataSet = new RealmBarDataSet<Score>(results, "scoreNr", "totalScore");*/
  62.  
  63.  
  64.  
  65.         Bundle bundle=getArguments();
  66.  
  67.             //here is your list array
  68.  
  69.  
  70.  
  71.         RealmResults<HearingResults> allHearingResults = realm.where(HearingResults.class).findAllAsync();
  72.  
  73.         referenceTimestamp = (allHearingResults.min("timeStampDate")).longValue();//0; //bundle.getLong("ReferenceTimeStamp");
  74.         Log.d("ADebugTag", "Value: " + Long.toString(referenceTimestamp));
  75.         HourAxisValueFormatter xAxisFormatter = new HourAxisValueFormatter(referenceTimestamp);
  76.  
  77.         XAxis xAxis = barChart.getXAxis();
  78.         xAxis.setValueFormatter(xAxisFormatter);
  79.  
  80.  
  81.         //MyMarkerView myMarkerView= new MyMarkerView(getContext(), R.layout.custom_marker_view, referenceTimestamp);
  82.         //mChart.setMarkerView(myMarkerView);
  83.  
  84.         RealmBarDataSet<HearingResults> dataSet = new RealmBarDataSet<HearingResults>(allHearingResults, "timeStampDate", "minFrequency");
  85.  
  86.         ArrayList<IBarDataSet> dataSetList = new ArrayList<IBarDataSet>();
  87.         dataSetList.add(dataSet); // add the dataset
  88.  
  89.  
  90.  
  91.  
  92.  
  93.         //long min = (long) allHearingResults.min("timeStampDate");
  94. /*        RealmResults<HearingResults> someResult = realm.where(HearingResults.class).findAllSorted("timeStampDate");
  95.         float min = someResult.min("timeStampDate");*/
  96.  
  97. // create a data object with the dataset list
  98.         BarData data = new BarData(dataSetList);
  99.         barChart.setData(data);
  100.         barChart.invalidate(); // refresh
  101. // additional data styling...
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.         //RealmResults<HearingResults> hearingResults = realm.where(HearingResults.class).findAllAsync();
  120.  
  121.         for(int i = 0; i < btn.length; i++) {
  122.             btn[i] = root.findViewById(btn_id[i]);
  123.             btn[i].setBackgroundColor(Color.rgb(207, 207, 207));
  124.         }
  125.  
  126.         btn_unfocus = btn[0];
  127.  
  128.         for(int i = 0; i < btn.length; i++) {
  129.             btn[i].setOnClickListener(new View.OnClickListener() {
  130.                 public void onClick(View v) {
  131.                     // Your Code Lines
  132.  
  133.                     switch (v.getId()) {
  134.                         case R.id.btn0:
  135.                             setFocus(btn_unfocus, btn[0]);
  136.                             break;
  137.  
  138.                         case R.id.btn1:
  139.                             setFocus(btn_unfocus, btn[1]);
  140.                             break;
  141.  
  142.                         case R.id.btn2:
  143.                             setFocus(btn_unfocus, btn[2]);
  144.                             break;
  145.  
  146.                         case R.id.btn3:
  147.                             setFocus(btn_unfocus, btn[3]);
  148.                             break;
  149.                     }
  150.                 }
  151.             });
  152.         }
  153.             //btn[i].setOnClickListener((View.OnClickListener) getActivity());
  154.  
  155.  
  156.         return root;
  157.     }
  158.  
  159.  
  160.  
  161.     private void setFocus(Button btn_unfocus, Button btn_focus){
  162.         btn_unfocus.setTextColor(Color.rgb(49, 50, 51));
  163.         btn_unfocus.setBackgroundColor(Color.rgb(207, 207, 207));
  164.         btn_focus.setTextColor(Color.rgb(255, 255, 255));
  165.         btn_focus.setBackgroundColor(Color.rgb(3, 106, 150));
  166.         this.btn_unfocus = btn_focus;
  167.     }
  168. }
Advertisement
Add Comment
Please, Sign In to add comment