diff --git a/src/main/java/nyc/c4q/ListActivity.java b/src/main/java/nyc/c4q/ListActivity.java index 08894ac..9966e35 100644 --- a/src/main/java/nyc/c4q/ListActivity.java +++ b/src/main/java/nyc/c4q/ListActivity.java @@ -2,14 +2,20 @@ import android.app.Activity; import android.os.Bundle; -import android.view.Menu; -import android.view.MenuItem; +import android.util.Log; +import android.widget.Button; import android.widget.ListView; +import java.util.Arrays; + public class ListActivity extends Activity { public ListView list; + ListActivityAdapter adapter; + + Button nameBtn; + Button colorBtn; public static final Person[] PEOPLE = { new Person("Hannah", "Abbott", House.Hufflepuff), @@ -42,12 +48,29 @@ public class ListActivity extends Activity { new Person("Ron", "Weasley", House.Gryffindor) }; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_list); + sortAlphabetically(PEOPLE); + + adapter = new ListActivityAdapter(this, R.layout.listitem_member, PEOPLE); list = (ListView) findViewById(R.id.list); + list.setAdapter(adapter); + } + + public static void sortAlphabetically (Person [] people ){ + + Arrays.sort(people); + for(int i = 0; i < people.length; i++){ + + String log = "First Name: " + people[i].firstName + "Last Name: " + people[i].lastName + "House: " + people[i].house; + + Log.d("APLHA ORDER PPL: ", log ); + } + } } diff --git a/src/main/java/nyc/c4q/ListActivityAdapter.java b/src/main/java/nyc/c4q/ListActivityAdapter.java new file mode 100644 index 0000000..5c1c402 --- /dev/null +++ b/src/main/java/nyc/c4q/ListActivityAdapter.java @@ -0,0 +1,59 @@ +package nyc.c4q; + +import android.app.Activity; +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ArrayAdapter; +import android.widget.TextView; + +/** + * Created by c4q-rosmary on 8/30/15. + */ +public class ListActivityAdapter extends ArrayAdapter<Person> { + + Context context; + int layoutResourceId; + //ArrayList<Person> data; + Person [] data; + + + public ListActivityAdapter(Context context, int layoutResourceId, Person [] data) { + super(context, layoutResourceId, data); + this.context = context; + this.layoutResourceId = layoutResourceId; + this.data = data; + } + + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + View row = convertView; + PersonHolder holder = null; + + if(row == null){ + LayoutInflater inflater = ((Activity) context).getLayoutInflater(); + row = inflater.inflate(layoutResourceId, parent, false); + + holder = new PersonHolder(); + holder.mHouse = (TextView) row.findViewById(R.id.text_house); + holder.mName = (TextView) row.findViewById(R.id.text_name); + + row.setTag(holder); + } else { + holder = (PersonHolder) row.getTag(); + } + + Person currentPerson = data[position]; + holder.mHouse.setText(currentPerson.house.toString()); + holder.mName.setText(currentPerson.firstName + " " + currentPerson.lastName); + + return row; + } + + public static class PersonHolder { + TextView mHouse; + TextView mName; + } +} diff --git a/src/main/java/nyc/c4q/PaceCalcFragment.java b/src/main/java/nyc/c4q/PaceCalcFragment.java new file mode 100644 index 0000000..f5ca423 --- /dev/null +++ b/src/main/java/nyc/c4q/PaceCalcFragment.java @@ -0,0 +1,55 @@ +package nyc.c4q; + +import android.app.Fragment; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; +import android.widget.EditText; + +/** + * Created by c4q-rosmary on 8/30/15. + */ +public class PaceCalcFragment extends Fragment { + + static EditText distanceEt; + static EditText timeMinEt; + static EditText timeSecEt; + static EditText paceMinEt; + static EditText paceSecEt; + + Button calculateBtn; + + View paceCalcView; + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) + { + + // Inflate the layout for this fragment + paceCalcView = inflater.inflate(R.layout.fragment_pace_calculator, container, false); + + initializeViews(); + + + return paceCalcView; + } + + + public void initializeViews () { + distanceEt = (EditText) paceCalcView.findViewById(R.id.input_distance); + + timeMinEt = (EditText) paceCalcView.findViewById(R.id.input_time_min); + timeSecEt = (EditText) paceCalcView.findViewById(R.id.input_time_sec); + + paceMinEt = (EditText) paceCalcView.findViewById(R.id.input_pace_min); + paceSecEt = (EditText) paceCalcView.findViewById(R.id.input_pace_sec); + + calculateBtn = (Button) paceCalcView.findViewById(R.id.button_calculate); + } + + + +} diff --git a/src/main/java/nyc/c4q/PaceCalculatorActivity.java b/src/main/java/nyc/c4q/PaceCalculatorActivity.java index 5c0616e..d924d52 100644 --- a/src/main/java/nyc/c4q/PaceCalculatorActivity.java +++ b/src/main/java/nyc/c4q/PaceCalculatorActivity.java @@ -1,14 +1,130 @@ package nyc.c4q; -import android.support.v4.app.FragmentActivity; import android.os.Bundle; +import android.support.v4.app.FragmentActivity; +import android.view.View; public class PaceCalculatorActivity extends FragmentActivity { + PaceCalcFragment firstFrag; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_pace_calculator); + + // Check that the activity is using the layout version with the fragment_container FrameLayout + if(findViewById(R.id.activity_pace_calculator) != null) + { + // if we are being restored from a previous state, then we dont need to do anything and should + // return or else we could end up with overlapping fragments. + if(savedInstanceState != null) + return; + + // Create an instance of editorFrag + firstFrag = new PaceCalcFragment(); + + // add fragment to the fragment container layout + getFragmentManager().beginTransaction().add(R.id.activity_pace_calculator, firstFrag).commit(); + } + + } + + public void button_calculate_onClick (View view) { + + String timeMinString = PaceCalcFragment.timeMinEt.getText().toString(); + String timeSecString = PaceCalcFragment.timeSecEt.getText().toString(); + + String paceMinString = PaceCalcFragment.paceMinEt.getText().toString(); + String paceSecString = PaceCalcFragment.paceSecEt.getText().toString(); + + String distanceString = PaceCalcFragment.distanceEt.getText().toString(); + + double timeSec; + double paceSec; + double distance; + + if(timeMinString.equals("") && timeSecString.equals("") && paceMinString.equals("") && paceSecString.equals("") && distanceString.equals("")){ + + PaceCalcFragment.timeMinEt.setText(""); + PaceCalcFragment.timeSecEt.setText(""); + PaceCalcFragment.paceMinEt.setText(""); + PaceCalcFragment.paceSecEt.setText(""); + PaceCalcFragment.distanceEt.setText(""); + + }else if(containsLetters(distanceString) || containsLetters(paceSecString) || containsLetters(paceMinString) || containsLetters(timeSecString) || containsLetters(timeMinString)){ + + PaceCalcFragment.timeMinEt.setText(""); + PaceCalcFragment.timeSecEt.setText(""); + PaceCalcFragment.paceMinEt.setText(""); + PaceCalcFragment.paceSecEt.setText(""); + PaceCalcFragment.distanceEt.setText(""); + + }else if(distanceString.equals("")){ + + timeSec = ((Integer.parseInt(timeMinString)*60)+Integer.parseInt(timeSecString)); + paceSec = ((Integer.parseInt(paceMinString)*60)+Integer.parseInt(paceSecString)); + + double distanceResult = timeSec/paceSec; + PaceCalcFragment.distanceEt.setText(distanceResult + ""); + + }else if(timeMinString.equals("") & timeSecString.equals("")){ + + paceSec = ((Integer.parseInt(paceMinString)*60)+Integer.parseInt(paceSecString)); + distance = Double.parseDouble(distanceString); + + double timeResultSec = (paceSec * distance); + double resultSecToMin = (timeResultSec/60); + + String [] arr = String.valueOf(resultSecToMin).split("\\."); + + int timeMinResult = Integer.parseInt(arr[0]);//whole number + int timeSecResult = Integer.parseInt(arr[1].substring(0,1));// first decimal only + + PaceCalcFragment.timeMinEt.setText(timeMinResult + ""); + PaceCalcFragment.timeSecEt.setText(timeSecResult + "0"); + + }else if(paceMinString.equals("") & paceSecString.equals("")){ + + //I believe there is an error in the test04. + // time 23 min and 22 sec(1402 sec) / distance 3.1 should equal 7 min 53 sec (452.25806 sec) + + timeSec = ((Integer.parseInt(timeMinString)*60)+Integer.parseInt(timeSecString)); + distance = Double.parseDouble(distanceString); + + double paceResultSec = (timeSec/distance); + double resultSecToMin = (paceResultSec/60); + + String [] arr = String.valueOf(resultSecToMin).split("\\."); + + int paceMinResult = Integer.parseInt(arr[0]);//whole number + int paceSecResult = Integer.parseInt(arr[1].substring(0,2));//first two decimals only + + PaceCalcFragment.paceMinEt.setText(paceMinResult + ""); + PaceCalcFragment.paceSecEt.setText(paceSecResult + ""); + + } + } + public boolean containsLetters (String value){ + + String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + + for(int i = 0; i < alphabet.length(); i++){ + + String currentChar = String.valueOf(alphabet.charAt(i)); + + if(value.contains(currentChar)){ + return true; + } + + } + + return false; + } + + + + } diff --git a/src/main/res/layout/activity_pace_calculator.xml b/src/main/res/layout/activity_pace_calculator.xml index ed76b3e..874938d 100644 --- a/src/main/res/layout/activity_pace_calculator.xml +++ b/src/main/res/layout/activity_pace_calculator.xml @@ -6,3 +6,4 @@ android:layout_height="match_parent" tools:context="nyc.c4q.PaceCalculatorActivity" /> +