I'm trying to create an application that converts numbers in decimal, binary etc..; but I have a problem, when I use the keyboard that I created to put number in the editText, it appears first the world "null" and then the number that I click. why? I'am new to stack overflow, thank you. Another problem that I have to solve is how could I decide where to write the number to convert, I mean, when I press the HEX button I have to write the number in the dedicated EditText, also for the DEC button and the BIN button, how could I do it?
-----------.XML FILE-------
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/button0"
android:layout_width="96dp"
android:layout_height="80dp"
android:onClick="inserimento_numeri"
android:text="@string/button0"
android:textColor="#000000"
android:textSize="20sp"
app:backgroundTint="#FFFFFF"
app:iconTint="#FFFFFF"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.383"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="1.0"
/>
<Button
android:id="@+id/button1"
android:layout_width="114dp"
android:layout_height="80dp"
android:onClick="inserimento_numeri"
android:text="@string/button1"
android:textColor="#000000"
android:textSize="20sp"
app:backgroundTint="#FFFFFF"
app:iconTint="#FFFFFF"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.886" />
<Button
android:id="@+id/button2"
android:layout_width="96dp"
android:layout_height="80dp"
android:onClick="inserimento_numeri"
android:text="@string/button2"
android:textColor="#000000"
android:textSize="20sp"
app:backgroundTint="#FFFFFF"
app:iconTint="#FFFFFF"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.383"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.886" />
<Button
android:id="@+id/button3"
android:layout_width="96dp"
android:layout_height="80dp"
android:onClick="inserimento_numeri"
android:text="@string/button3"
android:textColor="#000000"
android:textSize="20sp"
app:backgroundTint="#FFFFFF"
app:iconTint="#FFFFFF"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.707"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.886" />
<Button
android:id="@+id/button4"
android:layout_width="114dp"
android:layout_height="80dp"
android:onClick="inserimento_numeri"
android:text="@string/button4"
android:textColor="#000000"
android:textSize="20sp"
app:backgroundTint="#FFFFFF"
app:iconTint="#FFFFFF"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.773" />
<Button
android:id="@+id/button5"
android:layout_width="96dp"
android:layout_height="80dp"
android:onClick="inserimento_numeri"
android:text="@string/button5"
android:textColor="#000000"
android:textSize="20sp"
app:backgroundTint="#FFFFFF"
app:iconTint="#FFFFFF"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.383"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.773" />
<Button
android:id="@+id/button6"
android:layout_width="96dp"
android:layout_height="80dp"
android:onClick="inserimento_numeri"
android:text="@string/button6"
android:textColor="#000000"
android:textSize="20sp"
app:backgroundTint="#FFFFFF"
app:iconTint="#FFFFFF"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.707"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.773" />
<Button
android:id="@+id/button7"
android:layout_width="114dp"
android:layout_height="80dp"
android:onClick="inserimento_numeri"
android:text="@string/button7"
android:textColor="#000000"
android:textSize="20sp"
app:backgroundTint="#FFFFFF"
app:iconTint="#FFFFFF"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.651" />
<Button
android:id="@+id/button8"
android:layout_width="96dp"
android:layout_height="80dp"
android:onClick="inserimento_numeri"
android:text="@string/button8"
android:textColor="#000000"
android:textSize="20sp"
app:backgroundTint="#FFFFFF"
app:iconTint="#FFFFFF"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.384"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.651" />
<Button
android:id="@+id/button9"
android:layout_width="96dp"
android:layout_height="80dp"
android:onClick="inserimento_numeri"
android:text="@string/button9"
android:textColor="#000000"
android:textSize="20sp"
app:backgroundTint="#FFFFFF"
app:iconTint="#FFFFFF"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.707"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.651" />
<Button
android:id="@+id/button"
android:layout_width="114dp"
android:layout_height="80dp"
android:onClick="inserimento_numeri"
android:text="@string/button"
android:textColor="#000000"
android:textSize="20sp"
app:backgroundTint="#FFFFFF"
app:iconTint="#FFFFFF"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="1.0" />
<Button
android:id="@+id/button10"
android:layout_width="125dp"
android:layout_height="104dp"
android:onClick="scelta_base"
android:text="@string/button10"
android:textColor="#000000"
android:textSize="20sp"
app:backgroundTint="#FFFFFF"
app:iconTint="#FFFFFF"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0" />
<Button
android:id="@+id/button11"
android:layout_width="125dp"
android:layout_height="104dp"
android:onClick="scelta_base"
android:text="@string/button11"
android:textColor="#000000"
android:textSize="20sp"
app:backgroundTint="#FFFFFF"
app:iconTint="#FFFFFF"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.165" />
<Button
android:id="@+id/button12"
android:layout_width="125dp"
android:layout_height="104dp"
android:onClick="scelta_base"
android:text="@string/button12"
android:textColor="#000000"
android:textSize="20sp"
app:backgroundTint="#FFFFFF"
app:iconTint="#FFFFFF"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.331" />
<EditText
android:id="@+id/editText_BIN"
android:layout_width="270dp"
android:layout_height="105dp"
android:ems="10"
android:inputType="textFilter"
android:longClickable="true"
android:digits="0123456789ABCDEF"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.164"
/>
<EditText
android:id="@+id/editText_DEC"
android:layout_width="270dp"
android:layout_height="105dp"
android:ems="10"
android:inputType="text"
android:digits="0123456789ABCDEF"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0"
/>
<EditText
android:id="@+id/editText_HEX"
android:layout_width="270dp"
android:layout_height="105dp"
android:ems="10"
android:inputType="text"
android:longClickable="true"
android:digits="0123456789ABCDEF"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.33" />
</androidx.constraintlayout.widget.ConstraintLayout>
------MAIN ACTIVITY.JAVA-------------
package com.example.convertitore;
import android.annotation.SuppressLint;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import java.util.EventListener;
public class MainActivity extends AppCompatActivity {
EditText editText_BIN, editText_DEC, editText_HEX;
Button button10; //DEC
Button button11; //BIN
Button button12; //HEX
Button button1,button2,button3,button4,button5,button6,button7,button8,button9,button0,button;
String result;
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Basi convertitore
editText_BIN = findViewById(R.id.editText_BIN);
editText_DEC = findViewById(R.id.editText_DEC);
editText_HEX = findViewById(R.id.editText_HEX);
//Numeri della tastiera
button1 = findViewById(R.id.button1);
button2 = findViewById(R.id.button2);
button3 = findViewById(R.id.button3);
button4 = findViewById(R.id.button4);
button5 = findViewById(R.id.button5);
button6 = findViewById(R.id.button6);
button7 = findViewById(R.id.button7);
button8 = findViewById(R.id.button8);
button9 = findViewById(R.id.button9);
button0 = findViewById(R.id.button0);
button = findViewById(R.id.button);
button10 = findViewById(R.id.button10);
button11 = findViewById(R.id.button11);
button12 = findViewById(R.id.button12);
hideKeyboard(editText_BIN); //Funzioni che permettono l'utilizzo della tastiera creata dall'utente
hideKeyboard(editText_DEC);
hideKeyboard(editText_HEX);
}
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) //metodo che permette di nascondere la tastiera
private void hideKeyboard(EditText editText){
editText.setShowSoftInputOnFocus(false);
}
@SuppressLint({"SetTextI18n", "ResourceType"}) //Metodo per i numeri, button
public void inserimento_numeri(View view) {
Button button13 = (Button)view;
String value = button13.getText().toString();
int i = Integer.parseInt(value);
String binary = Integer.toBinaryString(i);
result+=value;
editText_HEX.setText(result);
//editText_BIN.setText(binary);
}
@SuppressLint("NonConstantResourceId")
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public void scelta_base(View v){ //Metodo per la scelta della base
//button10; //DEC
//button11; //BIN
//button12; //HEX
switch(v.getId()) {
case R.id.button10:
editText_DEC.setFocusableInTouchMode(true);
editText_BIN.setFocusable(false);
editText_HEX.setFocusable(false);
button10.setBackgroundColor(Color.BLUE); //Imposta il colore del bottone DEC blu
button12.setBackgroundColor(Color.WHITE); //Imposta il colore del bottone HEX bianco
button11.setBackgroundColor(Color.WHITE); //Imposta il colore del bottone BIN blu
break;
case R.id.button11:
editText_BIN.setFocusableInTouchMode(true);
editText_DEC.setFocusable(false);
editText_HEX.setFocusable(false);
button11.setBackgroundColor(Color.BLUE); //Imposta il colore del bottone BIN blu
button10.setBackgroundColor(Color.WHITE); //Imposta il colore del bottone DEC bianco
button12.setBackgroundColor(Color.WHITE); //Imposta il colore del bottone HEX bianco
break;
case R.id.button12:
editText_HEX.setFocusableInTouchMode(true);
editText_DEC.setFocusable(false);
editText_BIN.setFocusable(false);
button12.setBackgroundColor(Color.BLUE); //Imposta il colore del bottone HEX blu
button10.setBackgroundColor(Color.WHITE); //Imposta il colore del bottone DEC bianco
button11.setBackgroundColor(Color.WHITE); //Imposta il colore del bottone BIN bianco
break;
default:
//throw new IllegalStateException("Unexpected value: " + v.getId());
}
}
}