From 92303438edbcbfec691e773b7f7a8c3dc8ae3649 Mon Sep 17 00:00:00 2001 From: lordwelch Date: Tue, 4 Apr 2017 15:25:35 -0600 Subject: [PATCH] add appBar and menu --- .idea/misc.xml | 2 +- app/build.gradle | 1 + app/src/main/AndroidManifest.xml | 9 +- .../myapplication/ChoiceActivity.java | 83 ++++++++++++++++--- .../myapplication/MainActivity.java | 48 +++++++++-- app/src/main/res/layout/activity_choice.xml | 70 ++++------------ app/src/main/res/layout/activity_main.xml | 64 ++++---------- app/src/main/res/layout/content_choice.xml | 70 ++++++++++++++++ app/src/main/res/layout/content_main.xml | 54 ++++++++++++ app/src/main/res/menu/choice.xml | 7 ++ app/src/main/res/menu/main.xml | 6 ++ app/src/main/res/values/strings.xml | 6 ++ app/src/main/res/values/styles.xml | 9 ++ 13 files changed, 302 insertions(+), 127 deletions(-) create mode 100644 app/src/main/res/layout/content_choice.xml create mode 100644 app/src/main/res/layout/content_main.xml create mode 100644 app/src/main/res/menu/choice.xml create mode 100644 app/src/main/res/menu/main.xml diff --git a/.idea/misc.xml b/.idea/misc.xml index fbb6828..5d19981 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -37,7 +37,7 @@ - + diff --git a/app/build.gradle b/app/build.gradle index ba2bca9..8498c35 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -40,5 +40,6 @@ dependencies { }) compile 'com.android.support:appcompat-v7:25.3.1' compile 'com.android.support.constraint:constraint-layout:1.0.2' + compile 'com.android.support:design:25.3.1' testCompile 'junit:junit:4.12' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index cf7789c..6d71792 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -8,14 +8,19 @@ android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> - + - + \ No newline at end of file diff --git a/app/src/main/java/com/welchsoftwaredevelopers/myapplication/ChoiceActivity.java b/app/src/main/java/com/welchsoftwaredevelopers/myapplication/ChoiceActivity.java index a878bfa..d37c045 100644 --- a/app/src/main/java/com/welchsoftwaredevelopers/myapplication/ChoiceActivity.java +++ b/app/src/main/java/com/welchsoftwaredevelopers/myapplication/ChoiceActivity.java @@ -5,7 +5,11 @@ import android.content.Intent; import android.content.SharedPreferences; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; +import android.support.v7.widget.Toolbar; import android.util.Log; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; import android.view.View; import android.widget.RadioButton; import android.widget.RadioGroup; @@ -24,11 +28,13 @@ public class ChoiceActivity extends AppCompatActivity { private ArrayList ScriptQuestion; private RadioGroup group; private SharedPreferences sharedPref; - private Boolean clear = false; + private Boolean clear; + private Boolean fail; private Integer current; public ChoiceActivity() { script = new ArrayList<>(); + fail = false; } @@ -36,29 +42,33 @@ public class ChoiceActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_choice); + Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); + setSupportActionBar(toolbar); Intent intent = getIntent(); group = (RadioGroup) findViewById(R.id.radioGroup1); ScriptQuestion = intent.getStringArrayListExtra("Questions"); current = intent.getIntExtra("Next", 0); clear = intent.getBooleanExtra("Clear", false); + Integer i = 0; Integer size = intent.getIntExtra("Size", 0); - ((TextView) findViewById(R.id.textView)).setText(ScriptQuestion.get(current)); + ((TextView) findViewById(R.id.question)).setText(ScriptQuestion.get(current)); while (i < size) { HashMap tmp1 = new HashMap<>(); - tmp1.putAll((HashMap) intent.getSerializableExtra("Opts" + i.toString())); + tmp1.putAll((HashMap) intent.getSerializableExtra("Opts" + i.toString())); script.add(tmp1); i++; } - Log.d("D", size.toString()); - Log.d("D", script.toString()); - Log.d("D", current.toString()); - Log.d("D", ScriptQuestion.toString()); + Log.d("D", "script size: " + size.toString()); + Log.d("D", "script: " + script.toString()); + Log.d("D", "current: " + current.toString()); + Log.d("D", "questions: " + ScriptQuestion.toString()); Iterator iter1 = script.get(current).get("Text").iterator(); RadioButton button; while (iter1.hasNext()) { button = new RadioButton(this); + Log.d("D", "Radiobutton"); button.setText((String) iter1.next()); group.addView(button); } @@ -74,22 +84,57 @@ public class ChoiceActivity extends AppCompatActivity { Total = 0; SharedPreferences.Editor editor = sharedPref.edit(); editor.putInt(getString(R.string.Total), 0); + if (clear) { + Clear(); + } editor.commit(); } else { Total = sharedPref.getInt(getString(R.string.Total), 0); } - ((TextView) findViewById(R.id.textView_choice_total)).setText(Total.toString()); + ((TextView) findViewById(R.id.choice_textView_total)).setText(Total.toString()); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + MenuInflater inflater = getMenuInflater(); + inflater.inflate(R.menu.main, menu); + inflater.inflate(R.menu.choice, menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + // Handle item selection + switch (item.getItemId()) { + case R.id.clearMenu: + Clear(); + return true; + case R.id.FailMenu: + fail = true; + default: + return super.onOptionsItemSelected(item); + } } public void ClickDone(View v) { - Integer totalDone = sharedPref.getInt(getString(R.string.Total), 0) + 1; - SharedPreferences.Editor editor = sharedPref.edit(); - editor.putInt(getString(R.string.Total), totalDone); + Integer totalDone; + + totalDone = sharedPref.getInt(getString(R.string.Total), 0); + Log.d("D", fail.toString()); + if (!fail) { + totalDone = sharedPref.getInt(getString(R.string.Total), 0) + 1; + SharedPreferences.Editor editor = sharedPref.edit(); + editor.putInt(getString(R.string.Total), totalDone); + editor.apply(); + } + Intent intent = new Intent(this, MainActivity.class); + intent.putExtra("Clear", clear); intent.putExtra(getString(R.string.Total), totalDone); - editor.apply(); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); + clear = false; + fail = false; startActivity(intent); finish(); } @@ -101,7 +146,10 @@ public class ChoiceActivity extends AppCompatActivity { Intent intent = new Intent(this, ChoiceActivity.class); intent.putStringArrayListExtra("Questions", ScriptQuestion); intent.putExtra("Size", script.size()); - Log.d("D", "Sel button: " + ( (Integer) group.indexOfChild(findViewById(group.getCheckedRadioButtonId())) ).toString() ); + intent.putExtra("Clear", clear); + clear = false; + fail = false; + Log.d("D", "Sel button: " + ((Integer) group.indexOfChild(findViewById(group.getCheckedRadioButtonId()))).toString()); intent.putExtra("Next", (Integer) script.get(current).get("Destination").get(group.indexOfChild(findViewById(group.getCheckedRadioButtonId())))); @@ -115,4 +163,13 @@ public class ChoiceActivity extends AppCompatActivity { startActivity(intent); } } + + public void Clear() { + clear = true; + ((TextView) findViewById(R.id.choice_textView_total)).setText("0"); + + SharedPreferences.Editor editor = sharedPref.edit(); + editor.putInt(getString(R.string.Total), 0); + editor.commit(); + } } diff --git a/app/src/main/java/com/welchsoftwaredevelopers/myapplication/MainActivity.java b/app/src/main/java/com/welchsoftwaredevelopers/myapplication/MainActivity.java index 19bdc20..e28b1ee 100644 --- a/app/src/main/java/com/welchsoftwaredevelopers/myapplication/MainActivity.java +++ b/app/src/main/java/com/welchsoftwaredevelopers/myapplication/MainActivity.java @@ -5,7 +5,11 @@ import android.content.Intent; import android.content.SharedPreferences; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; +import android.support.v7.widget.Toolbar; import android.util.Log; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; import android.view.View; import android.widget.TextView; import android.widget.Toast; @@ -41,6 +45,8 @@ public class MainActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); + Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); + setSupportActionBar(toolbar); try { String str = convertStreamToString(getResources().openRawResource(R.raw.script)); @@ -66,10 +72,33 @@ public class MainActivity extends AppCompatActivity { editor.putInt(getString(R.string.Total), count); editor.commit(); } + if (intent.getBooleanExtra("Clear", false)) { + Clear(); + } + clear = false; Integer Total = sharedPref.getInt(getString(R.string.Total), 0); - ((TextView) findViewById(R.id.textView_Total)).setText(Total.toString()); + ((TextView) findViewById(R.id.main_textView_Total)).setText(Total.toString()); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + MenuInflater inflater = getMenuInflater(); + inflater.inflate(R.menu.main, menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + // Handle item selection + switch (item.getItemId()) { + case R.id.clearMenu: + Clear(); + return true; + default: + return super.onOptionsItemSelected(item); + } } public void readJson(JSONArray ScriptObject) throws JSONException { @@ -125,8 +154,12 @@ public class MainActivity extends AppCompatActivity { } public void ClickClear(View v) { + Clear(); + } + + public void Clear() { clear = true; - ((TextView) findViewById(R.id.textView_Total)).setText("0"); + ((TextView) findViewById(R.id.main_textView_Total)).setText("0"); SharedPreferences sharedPref = MainActivity.this.getPreferences(Context.MODE_PRIVATE); SharedPreferences.Editor editor = sharedPref.edit(); @@ -141,13 +174,12 @@ public class MainActivity extends AppCompatActivity { intent.putExtra("Next", 0); intent.putExtra("Clear", clear); - Integer length = script.size(); - Integer i; - for (i = 0; i < length; i++) { + Iterator> iter1 = script.iterator(); + Integer i = 0; + while (iter1.hasNext()) { String nameOpts = "Opts" + i.toString(); - HashMap tempHash = script.get(i); - Log.d("D", "temp hash: " + tempHash.toString()); - intent.putExtra(nameOpts, tempHash); + intent.putExtra(nameOpts, iter1.next()); + i++; } startActivity(intent); diff --git a/app/src/main/res/layout/activity_choice.xml b/app/src/main/res/layout/activity_choice.xml index 66bdc61..3f99f44 100644 --- a/app/src/main/res/layout/activity_choice.xml +++ b/app/src/main/res/layout/activity_choice.xml @@ -1,67 +1,25 @@ - + tools:context="com.welchsoftwaredevelopers.myapplication.ChoiceActivity"> - + android:theme="@style/AppTheme.AppBarOverlay"> - - - - - - + android:layout_height="?attr/actionBarSize" + android:background="?attr/colorPrimary" + app:popupTheme="@style/AppTheme.PopupOverlay" /> - - + - + -