tuttelikz

HearingClub [+ Graph allvalues] not supported

Dec 14th, 2017
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.44 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.charts.LineChart;
  22. import com.github.mikephil.charting.components.AxisBase;
  23. import com.github.mikephil.charting.components.Legend;
  24. import com.github.mikephil.charting.components.LimitLine;
  25. import com.github.mikephil.charting.components.XAxis;
  26. import com.github.mikephil.charting.data.BarData;
  27. import com.github.mikephil.charting.data.LineData;
  28. import com.github.mikephil.charting.data.LineDataSet;
  29. import com.github.mikephil.charting.data.realm.implementation.RealmBarDataSet;
  30. import com.github.mikephil.charting.data.realm.implementation.RealmLineDataSet;
  31. import com.github.mikephil.charting.interfaces.datasets.IBarDataSet;
  32. import com.github.mikephil.charting.interfaces.datasets.ILineDataSet;
  33.  
  34. import java.util.ArrayList;
  35.  
  36. import io.realm.Realm;
  37. import io.realm.RealmResults;
  38.  
  39. /**
  40.  * A simple {@link Fragment} subclass.
  41.  */
  42. public class TrendsMainFragment extends Fragment {
  43.  
  44.     private Button[] btn = new Button[4];
  45.     private Button btn_unfocus;
  46.     private int[] btn_id = {R.id.btn0, R.id.btn1, R.id.btn2, R.id.btn3};
  47.     private long referenceTimestamp;
  48.     private long recentTimestamp;
  49.     private Realm realm;
  50.     //HearingResults hearingAllResults;
  51.  
  52.     public TrendsMainFragment() {
  53.         // Required empty public constructor
  54.     }
  55.  
  56.  
  57.     @Override
  58.     public View onCreateView(LayoutInflater inflater, ViewGroup container,
  59.                              Bundle savedInstanceState) {
  60.         // Inflate the layout for this fragment
  61.         final View root = inflater.inflate(R.layout.fragment_trends_main, container, false);
  62.  
  63.         realm = Realm.getDefaultInstance();
  64.  
  65.  
  66.         LineChart lineChart = root.findViewById(R.id.linechart1);
  67.  
  68. /*        RealmResults<Score> results = realm.where(Score.class).findAll();
  69.         RealmBarDataSet<Score> dataSet = new RealmBarDataSet<Score>(results, "scoreNr", "totalScore");*/
  70.  
  71.  
  72.  
  73.         Bundle bundle=getArguments();
  74.  
  75.             //here is your list array
  76.  
  77.  
  78.  
  79.         RealmResults<HearingResults> allHearingResults = realm.where(HearingResults.class).findAllAsync();
  80.  
  81.         referenceTimestamp = (allHearingResults.min("timeStampDate")).longValue();//0; //bundle.getLong("ReferenceTimeStamp");
  82.         recentTimestamp = (allHearingResults.max("timeStampDate")).longValue();
  83.  
  84.  
  85.         Log.d("ADebugTag", "Value: " + Long.toString(referenceTimestamp));
  86.         HourAxisValueFormatter xAxisFormatter = new HourAxisValueFormatter(referenceTimestamp);
  87.  
  88.         XAxis xAxis = lineChart.getXAxis();
  89.  
  90.  
  91.         LimitLine lllower = new LimitLine(recentTimestamp, "Upper Limit");
  92.         LimitLine llupper = new LimitLine(referenceTimestamp, "Lower Limit");
  93.  
  94.         xAxis.addLimitLine(lllower);
  95.         xAxis.addLimitLine(llupper);
  96.  
  97.  
  98.         xAxis.setValueFormatter(xAxisFormatter);
  99.  
  100.  
  101.         //MyMarkerView myMarkerView= new MyMarkerView(getContext(), R.layout.custom_marker_view, referenceTimestamp);
  102.         //mChart.setMarkerView(myMarkerView);
  103.  
  104.         RealmLineDataSet<HearingResults> dataSet = new RealmLineDataSet<HearingResults>(allHearingResults, "timeStampDate", "minFrequency");
  105.         RealmLineDataSet<HearingResults> dataSetHighF = new RealmLineDataSet<HearingResults>(allHearingResults, "timeStampDate", "maxFrequency");
  106.  
  107.         ArrayList<ILineDataSet> dataSetList = new ArrayList<ILineDataSet>();
  108.         dataSetList.add(dataSet); // add the dataset
  109.         dataSetList.add(dataSetHighF);
  110.         dataSet.setColor(Color.BLUE);
  111.         dataSetHighF.setColor(Color.RED);
  112.  
  113.         //Legend legend = lineChart.getLegend();
  114.         //legend.
  115.  
  116.         //LineDataSet setComp1 = new LineDataSet(valsComp1, "Company 1");
  117.  
  118.         //long min = (long) allHearingResults.min("timeStampDate");
  119. /*        RealmResults<HearingResults> someResult = realm.where(HearingResults.class).findAllSorted("timeStampDate");
  120.         float min = someResult.min("timeStampDate");*/
  121.  
  122. // create a data object with the dataset list
  123.         LineData data = new LineData(dataSetList);
  124.         lineChart.setData(data);
  125.         lineChart.invalidate(); // refresh
  126. // additional data styling...
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.         //RealmResults<HearingResults> hearingResults = realm.where(HearingResults.class).findAllAsync();
  144.  
  145.         for(int i = 0; i < btn.length; i++) {
  146.             btn[i] = root.findViewById(btn_id[i]);
  147.             btn[i].setBackgroundColor(Color.rgb(207, 207, 207));
  148.         }
  149.  
  150.         btn_unfocus = btn[0];
  151.  
  152.         for(int i = 0; i < btn.length; i++) {
  153.             btn[i].setOnClickListener(new View.OnClickListener() {
  154.                 public void onClick(View v) {
  155.                     // Your Code Lines
  156.  
  157.                     switch (v.getId()) {
  158.                         case R.id.btn0:
  159.                             setFocus(btn_unfocus, btn[0]);
  160.                             break;
  161.  
  162.                         case R.id.btn1:
  163.                             setFocus(btn_unfocus, btn[1]);
  164.                             break;
  165.  
  166.                         case R.id.btn2:
  167.                             setFocus(btn_unfocus, btn[2]);
  168.                             break;
  169.  
  170.                         case R.id.btn3:
  171.                             setFocus(btn_unfocus, btn[3]);
  172.                             break;
  173.                     }
  174.                 }
  175.             });
  176.         }
  177.             //btn[i].setOnClickListener((View.OnClickListener) getActivity());
  178.  
  179.  
  180.         return root;
  181.     }
  182.  
  183.  
  184.  
  185.     private void setFocus(Button btn_unfocus, Button btn_focus){
  186.         btn_unfocus.setTextColor(Color.rgb(49, 50, 51));
  187.         btn_unfocus.setBackgroundColor(Color.rgb(207, 207, 207));
  188.         btn_focus.setTextColor(Color.rgb(255, 255, 255));
  189.         btn_focus.setBackgroundColor(Color.rgb(3, 106, 150));
  190.         this.btn_unfocus = btn_focus;
  191.     }
  192. }
Advertisement
Add Comment
Please, Sign In to add comment