I have an App which I created in Android Studio (just one activity/class) and all was good but went onto Android Studio yesterday and it can't reference anything from the xml in my java class which hadn't caused any issues until now.
I've checked online and can't find anything on this and also selected clean project
and Rebuild Project
but this hasn't resolved anything.
My xml is:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="2dp"
android:paddingLeft="2dp"
android:paddingRight="2dp"
android:paddingTop="2dp"
android:orientation="vertical"
tools:context="com.example.jer.calculatorconverter.MainActivity">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:orientation="vertical"
android:layout_weight="1">
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:orientation="vertical">
<LinearLayout
android:id="@+id/Sixth_Up"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="match_parent">
<TextView
android:id="@+id/To"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:textAlignment="gravity"
android:layout_alignParentBottom="true"
android:layout_margin="4.5dp"
android:text="@string/ConvertTo"/>
<TextView
android:id="@+id/From"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/To"
android:layout_margin="4.5dp"
android:text="@string/ConvertFrom" />
</RelativeLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/spinner_color"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Spinner
android:id="@+id/MainSpinner"
android:layout_width="match_parent"
android:layout_height="20dp"
android:padding="0dp"
android:layout_margin="0dp"
android:textStyle="bold"
android:background="@color/seeThrough"
tools:listitem="@layout/support_simple_spinner_dropdown_item" />
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/arrow"
android:layout_alignParentRight="true"
android:rotation="90"
android:layout_margin="4dp"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Spinner
android:id="@+id/FromSpinner"
android:layout_width="match_parent"
android:layout_height="20dp"
android:padding="0dp"
android:background="@color/seeThrough"
android:layout_margin="0dp"
tools:listitem="@layout/support_simple_spinner_dropdown_item" />
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/arrow"
android:layout_alignParentRight="true"
android:rotation="90"
android:layout_margin="4dp"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Spinner
android:id="@+id/ToSpinner"
android:layout_width="match_parent"
android:layout_height="20dp"
android:padding="0dp"
android:background="@color/seeThrough"
android:layout_margin="0dp"
tools:listitem="@layout/support_simple_spinner_dropdown_item" />
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/arrow"
android:layout_alignParentRight="true"
android:rotation="90"
android:layout_margin="4dp"/>
</RelativeLayout>
</LinearLayout>
</LinearLayout>
<Button
android:id="@+id/Convert"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/buttonshape"
android:clickable="true"
android:onClick="SubmitConvert"
android:text="@string/Convert" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal">
<Button
android:id="@+id/Clear"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:background="@drawable/buttonshape"
android:clickable="true"
android:onClick="SubmitClear"
android:text="@string/Clear"
android:textColor="@color/Opperater_color"
android:textStyle="bold"/>
<Button
android:id="@+id/Percent"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:background="@drawable/buttonshape"
android:clickable="true"
android:onClick="SubmitOpenBracket"
android:text="@string/OpenBraket"
android:textColor="@color/Opperater_color"/>
<Button
android:id="@+id/Brackets"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:background="@drawable/buttonshape"
android:clickable="true"
android:onClick="SubmitClosingBracket"
android:text="@string/ClosingBracket"
android:textColor="@color/Opperater_color"/>
<Button
android:id="@+id/Multiply"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:background="@drawable/buttonshape"
android:clickable="true"
android:onClick="SubmitMultiply"
android:text="@string/Multiply"
android:textColor="@color/Opperater_color"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal">
<Button
android:id="@+id/Seven"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/buttonshape"
android:clickable="true"
android:onClick="SubmitSeven"
android:text="@string/Seven"/>
<Button
android:id="@+id/Eight"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/buttonshape"
android:clickable="true"
android:onClick="SubmitEight"
android:text="@string/Eight" />
<Button
android:id="@+id/Nine"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/buttonshape"
android:clickable="true"
android:onClick="SubmitNine"
android:text="@string/Nine" />
<Button
android:id="@+id/Divide"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/buttonshape"
android:clickable="true"
android:onClick="SubmitDivide"
android:text="@string/Divide"
android:textColor="@color/Opperater_color" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal">
<Button
android:id="@+id/Four"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/buttonshape"
android:clickable="true"
android:onClick="SubmitFour"
android:text="@string/Four"/>
<Button
android:id="@+id/Five"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/buttonshape"
android:clickable="true"
android:onClick="SubmitFive"
android:text="@string/Five"/>
<Button
android:id="@+id/Six"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/buttonshape"
android:clickable="true"
android:onClick="SubmitSix"
android:text="@string/Six"/>
<Button
android:id="@+id/Plus"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/buttonshape"
android:clickable="true"
android:onClick="SubmitPlus"
android:text="@string/Plus"
android:textColor="@color/Opperater_color"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal">
<Button
android:id="@+id/One"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/buttonshape"
android:clickable="true"
android:onClick="SubmitOne"
android:text="@string/One"/>
<Button
android:id="@+id/Two"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/buttonshape"
android:clickable="true"
android:onClick="SubmitTwo"
android:text="@string/Two"/>
<Button
android:id="@+id/Three"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/buttonshape"
android:clickable="true"
android:onClick="SubmitThree"
android:text="@string/Three"/>
<Button
android:id="@+id/Minus"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/buttonshape"
android:clickable="true"
android:onClick="SubmitMinus"
android:text="@string/Minus"
android:textColor="@color/Opperater_color"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal">
<Button
android:id="@+id/dot"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/buttonshape"
android:clickable="true"
android:onClick="SubmitDot"
android:text="@string/dot" />
<Button
android:id="@+id/Zero"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/buttonshape"
android:clickable="true"
android:onClick="SubmitZero"
android:text="@string/Zero" />
<Button
android:id="@+id/PlusMinus"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/buttonshape"
android:clickable="true"
android:onClick="SubmitPlusMinus"
android:text="@string/Plus_Minus" />
<Button
android:id="@+id/Equals"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/operatorbuttons"
android:clickable="true"
android:onClick="SubmitEquals"
android:text="@string/Equals"
android:textColor="#ffffff"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
And my Java is:
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import java.util.Locale;
/**
* This app displays calculates, based of of user input.
*/
public class MainActivity extends AppCompatActivity {
TextView editInput;
Double dCurrentNumber;
String sCurrentNumber;
String sfullString;
String errorMessage1 = getResources().getString(R.layout.activity_main);
String sDisplayText;
Long lBrackets;
Boolean bDecimel;
Boolean bMinus;
Boolean bOperator;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Spinner mainspinner = (Spinner) findViewById(R.id.MainSpinner);
ArrayAdapter<CharSequence> mainAdapter = ArrayAdapter.createFromResource(
this, R.array.Convert_Type, android.R.layout.simple_spinner_item);
mainAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mainspinner.setBackgroundResource(R.drawable.spinner_color);
mainspinner.setAdapter(mainAdapter);
editInput = (TextView) findViewById(R.id.InputLine);
mainspinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
if (position == 0) {
//* code for first selection (Tempeture)
// Store editInput value as string
//String equasion = editInput.getText().toString();
//String numberAsString = "153.25";
//double number = Double.parseDouble(numberAsString);
Toast.makeText(getApplicationContext(), "this is my Toast message!!! =) " + parentView.getItemAtPosition(position),
Toast.LENGTH_LONG).show();
}
}
@Override
public void onNothingSelected(AdapterView<?> parentView) {
}
});
Spinner FromSpinner = (Spinner) findViewById(R.id.FromSpinner);
ArrayAdapter<CharSequence> fromAdapter = ArrayAdapter.createFromResource(
this, R.array.Tempeture_Array, android.R.layout.simple_spinner_item);
fromAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
FromSpinner.setBackgroundResource(R.drawable.spinner_color);
FromSpinner.setAdapter(fromAdapter);
Spinner ToSpinner = (Spinner) findViewById(R.id.ToSpinner);
ArrayAdapter<CharSequence> toAdapter = ArrayAdapter.createFromResource(
this, R.array.Tempeture_Array, android.R.layout.simple_spinner_item);
ToSpinner.setBackgroundResource(R.drawable.spinner_color);
ToSpinner.setAdapter(toAdapter);
}
public void SubmitDot(View v) {
bDecimel = true;
if (sCurrentNumber.equals("")) {
sCurrentNumber = ("0.");
dCurrentNumber = Double.parseDouble(sCurrentNumber);
if (bDecimel) {
Toast.makeText(getApplicationContext(), errorMessage1,
Toast.LENGTH_SHORT).show();
} else {
sCurrentNumber = (sCurrentNumber + ".");
dCurrentNumber = Double.parseDouble(sCurrentNumber);
}
}
sDisplayText = sDisplayText + String.format(Locale.getDefault(), "%,f", dCurrentNumber);
editInput.setText(sDisplayText);
}
public void SubmitZero(View v) {
sCurrentNumber = sCurrentNumber + "0";
dCurrentNumber = Double.parseDouble(sCurrentNumber);
sDisplayText = sDisplayText + String.format(Locale.getDefault(), "%,f", dCurrentNumber);
editInput.setText(sDisplayText);
}
public void SubmitPlusMinus(View v) {
bMinus = !bMinus;
if (sCurrentNumber.equals("")) {
sDisplayText = sDisplayText + "-";
} else if (sDisplayText.substring(sDisplayText.length() - 1).equals("-")) {
sDisplayText = sDisplayText.substring(0, Math.min(sDisplayText.length(),sDisplayText.length()-1));
} else {
dCurrentNumber = dCurrentNumber * -1;
sCurrentNumber = Double.toString(dCurrentNumber);
}
sDisplayText = sDisplayText + String.format(Locale.getDefault(), "%,f", dCurrentNumber);
editInput.setText(sDisplayText);
}
public void SubmitEquals(View v) {
sfullString = editInput.getText().toString();
editInput.setText(sfullString + "0");
}
public void SubmitOne(View v) {
sCurrentNumber = sCurrentNumber + "1";
dCurrentNumber = Double.parseDouble(sCurrentNumber);
sDisplayText = sDisplayText + String.format(Locale.getDefault(), "%,f", dCurrentNumber);
editInput.setText(sDisplayText);
}
public void SubmitTwo(View v) {
sCurrentNumber = sCurrentNumber + "2";
dCurrentNumber = Double.parseDouble(sCurrentNumber);
sDisplayText = sDisplayText + String.format(Locale.getDefault(), "%,f", dCurrentNumber);
editInput.setText(sDisplayText);
}
public void SubmitThree(View v) {
sCurrentNumber = sCurrentNumber + "3";
dCurrentNumber = Double.parseDouble(sCurrentNumber);
sDisplayText = sDisplayText + String.format(Locale.getDefault(), "%,f", dCurrentNumber);
editInput.setText(sDisplayText);
}
public void SubmitMinus(View v) {
// TBC
sfullString = sfullString + sCurrentNumber;
sCurrentNumber = "";
dCurrentNumber = Double.parseDouble(sCurrentNumber);
sDisplayText = sDisplayText + String.format(Locale.getDefault(), "%,f", dCurrentNumber);
editInput.setText(sDisplayText);
}
public void SubmitFour(View v) {
sCurrentNumber = sCurrentNumber + "4";
dCurrentNumber = Double.parseDouble(sCurrentNumber);
sDisplayText = sDisplayText + String.format(Locale.getDefault(), "%,f", dCurrentNumber);
editInput.setText(sDisplayText);
}
public void SubmitFive(View v) {
sCurrentNumber = sCurrentNumber + "5";
dCurrentNumber = Double.parseDouble(sCurrentNumber);
sDisplayText = sDisplayText + String.format(Locale.getDefault(), "%,f", dCurrentNumber);
editInput.setText(sDisplayText);
}
public void SubmitSix(View v) {
sCurrentNumber = sCurrentNumber + "6";
dCurrentNumber = Double.parseDouble(sCurrentNumber);
sDisplayText = sDisplayText + String.format(Locale.getDefault(), "%,f", dCurrentNumber);
editInput.setText(sDisplayText);
}
public void SubmitPlus(View v) {
//TBC
sfullString = editInput.getText().toString();
editInput.setText(sfullString + "+");
}
public void SubmitSeven(View v) {
sCurrentNumber = sCurrentNumber + "7";
dCurrentNumber = Double.parseDouble(sCurrentNumber);
sDisplayText = sDisplayText + String.format(Locale.getDefault(), "%,f", dCurrentNumber);
editInput.setText(sDisplayText);
}
public void SubmitEight(View v) {
sCurrentNumber = sCurrentNumber + "8";
dCurrentNumber = Double.parseDouble(sCurrentNumber);
sDisplayText = sDisplayText + String.format(Locale.getDefault(), "%,f", dCurrentNumber);
editInput.setText(sDisplayText);
}
public void SubmitNine(View v) {
sCurrentNumber = sCurrentNumber + "9";
dCurrentNumber = Double.parseDouble(sCurrentNumber);
sDisplayText = sDisplayText + String.format(Locale.getDefault(), "%,f", dCurrentNumber);
editInput.setText(sDisplayText);
}
public void SubmitDivide(View v) {
//TBC
sCurrentNumber = "";
dCurrentNumber = Double.parseDouble(sCurrentNumber);
sDisplayText = sDisplayText + String.format(Locale.getDefault(), "%,f", dCurrentNumber);
editInput.setText(sDisplayText);
}
public void SubmitClear(View v) {
sfullString = "";
sCurrentNumber = "";
dCurrentNumber = Double.parseDouble(sCurrentNumber);
bMinus = false;
bDecimel = false;
bOperator = false;
lBrackets = 0L;
editInput.setText(sfullString);
}
public void SubmitOpenBracket(View v) {
sfullString = editInput.getText().toString();
editInput.setText(sfullString + "(");
lBrackets = lBrackets++;
}
public void SubmitClosingBracket(View v) {
sfullString = editInput.getText().toString();
if (lBrackets == 0) {
Toast.makeText(getApplicationContext(), errorMessage1,
Toast.LENGTH_SHORT).show();
} else {
lBrackets = lBrackets--;
editInput.setText(sfullString + ")");
}
}
public void SubmitMultiply(View v) {
sfullString = editInput.getText().toString();
editInput.setText(sfullString + "x");
}
public void SubmitConvert(View v) {
sfullString = editInput.getText().toString();
}
}
I know the Java file isn't the finished article but I don't believe what is there, is incorrect.
Has anyone had this problem or know how I can fix this?
Thanks in advance
Apologies:
apply plugin: 'com.android.application'
android {
compileSdkVersion 24
buildToolsVersion "24.0.1"
defaultConfig {
applicationId "com.example.jer.calculatorconverter"
minSdkVersion 16
targetSdkVersion 24
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:24.2.0'
}