From e70b98a26badfd2613fd4dd30e629557d98e1158 Mon Sep 17 00:00:00 2001 From: _N0x Date: Tue, 29 Jun 2021 21:49:56 +0200 Subject: [PATCH] V2 --- .../java_mot_testing/MainActivity.java | 49 +++++-------------- .../java_mot_testing/helper/Converter.java | 18 +++++++ app/src/main/res/layout/ex9_data_binding.xml | 8 +++ 3 files changed, 37 insertions(+), 38 deletions(-) create mode 100644 app/src/main/java/io/n0x/android/java_mot_testing/helper/Converter.java 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 @@ +