diff --git a/app/src/main/java/io/n0x/android/java_mot_testing/MainActivity.java b/app/src/main/java/io/n0x/android/java_mot_testing/MainActivity.java
index 4e6e6f9..ffa8eb9 100644
--- a/app/src/main/java/io/n0x/android/java_mot_testing/MainActivity.java
+++ b/app/src/main/java/io/n0x/android/java_mot_testing/MainActivity.java
@@ -1,29 +1,23 @@
package io.n0x.android.java_mot_testing;
-import android.annotation.SuppressLint;
import android.os.Bundle;
import android.util.Log;
-import android.view.View;
-import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import androidx.databinding.DataBindingUtil;
import io.n0x.android.java_mot_testing.databinding.Ex9DataBindingBinding;
+import io.n0x.android.java_mot_testing.helper.Converter;
-public class MainActivity extends AppCompatActivity implements View.OnClickListener {
+public class MainActivity extends AppCompatActivity{
// For debugging
private static final String TAG = MainActivity.class.getName();
- // Local calculator instance
- private FractionCalculator calc;
-
- private int test;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- // create calculator instance
- calc = new FractionCalculator();
+ // Local calculator instance
+ FractionCalculator calc = new FractionCalculator();
// set a value for testing
calc.setEnumResult(0);
@@ -32,37 +26,16 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
// Bind instance of FractionCalculator to view
Ex9DataBindingBinding binding = DataBindingUtil.setContentView(this, R.layout.ex9_data_binding);
binding.setCalc(calc);
+ // set initial value for the arithmetical method
+ calc.setArithMethod(FractionCalculator.ARTIH.ADD);
- // Button Listeners
- findViewById(R.id.button_add).setOnClickListener(this);
- findViewById(R.id.button_sub).setOnClickListener(this);
- findViewById(R.id.button_mult).setOnClickListener(this);
- findViewById(R.id.button_div).setOnClickListener(this);
- findViewById(R.id.button_calc).setOnClickListener(this);
+ /*
+ // Converter to get null values
+ Converter conv = new Converter();
+ binding.setConv(conv);
+ //*/
// Log create action
Log.d(TAG, "MainActivity started");
}
-
- @SuppressLint("NonConstantResourceId")
- @Override
- public void onClick(View v) {
- switch(v.getId()){
- case R.id.button_add:
- calc.setArithMethod(FractionCalculator.ARTIH.ADD);
- break;
- case R.id.button_sub:
- calc.setArithMethod(FractionCalculator.ARTIH.SUBTRACT);
- break;
- case R.id.button_mult:
- calc.setArithMethod(FractionCalculator.ARTIH.MULTIPLICATE);
- break;
- case R.id.button_div:
- calc.setArithMethod(FractionCalculator.ARTIH.DIVIDE);
- break;
- case R.id.button_calc:
- calc.calculateResult();
- break;
- }
- }
}
\ No newline at end of file
diff --git a/app/src/main/java/io/n0x/android/java_mot_testing/helper/Converter.java b/app/src/main/java/io/n0x/android/java_mot_testing/helper/Converter.java
new file mode 100644
index 0000000..e552fb0
--- /dev/null
+++ b/app/src/main/java/io/n0x/android/java_mot_testing/helper/Converter.java
@@ -0,0 +1,18 @@
+package io.n0x.android.java_mot_testing.helper;
+
+import androidx.databinding.InverseMethod;
+
+public class Converter {
+ @InverseMethod("toInt")
+ public static String toString(int val){
+ if(val == 0){
+ return null;
+ }
+ return String.valueOf(val);
+ }
+ public static int toInt(String val){
+ if(val == null || val.isEmpty())
+ return 0;
+ return Integer.parseInt(val);
+ }
+}
diff --git a/app/src/main/res/layout/ex9_data_binding.xml b/app/src/main/res/layout/ex9_data_binding.xml
index 0419486..5a74e8e 100644
--- a/app/src/main/res/layout/ex9_data_binding.xml
+++ b/app/src/main/res/layout/ex9_data_binding.xml
@@ -7,6 +7,9 @@
+