-
-
Save udacityandroid/a00cf27969aea4ba7848 to your computer and use it in GitHub Desktop.
int raspberryPrice = 5; | |
display1("1 box: $" + raspberryPrice); | |
raspberryPrice = 10; | |
display2("2 boxes: $" + (raspberryPrice)); | |
display3("3 boxes: $" + (raspberryPrice * 3)); |
I'm still wondering how you guys can run the code in Android Studio without issues. Here it exits with an error "incompatible type: String cannot be converted into int." So my guess is because the method display in "display("1 box: $" + raspberryPrice);" is defined as integer as instructed in:
public void display (int i) {
TextView t = (TextView) findViewById(R.id.display_text_view);
t.setText(""+i);
}
Hi @sslaia
You maybe not interested anymore of this answer. But just in case I try to do my best :)
So, first in first. I call this method:
display1("1 box: $" + raspberryPrice);
So we are jumping to this declaration:
public void display1(String text) {
display(text);
}
->display1 method calls display method with String.
That means we jump to this method:
public void display(String text) {
TextView t = (TextView) findViewById(R.id.display_text_view);
t.setText(text);
}
Basically, we change the TextView's value to
1 box: $ 5.
What you mention "display" method with "int", we never called.
public void display(int text) {
TextView t = (TextView) findViewById(R.id.display_text_view);
t.setText(text + "");
}
Java CODE
package com.example.com;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
int raspberryPrice = 5;
display1("1 box: $" + raspberryPrice);
display2("2 boxes: $" + (raspberryPrice * 2));
display3("3 boxes: $" + (raspberryPrice * 3));
}
public void display1(String text) {
TextView t = (TextView) findViewById(R.id.display_text_view);
t.setText(text + "");
}
public void display2(String text) {
TextView t = (TextView) findViewById(R.id.display2_text_view);
t.setText(text + "");
}
public void display3(String text) {
TextView t = (TextView) findViewById(R.id.display3_text_view);
t.setText(text + "");
}
}
XML
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:id="@+id/display_text_view"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:id="@+id/display2_text_view"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:id="@+id/display3_text_view"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
/>
If you struggle in latest version of Android Studio check below codes
JAVA CODE:
package com.example.android.practiceset2;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
int raspberryPrice = 5;
display1("1 box: $" + raspberryPrice);
display2("2 boxes: $" + (raspberryPrice * 2));
display3("3 boxes: $" + (raspberryPrice * 3));
}
public void display1(String text) {
TextView t = (TextView) findViewById(R.id.display_text_view);
t.setText(text + "");
}
public void display2(String text) {
TextView t = (TextView) findViewById(R.id.display_text_view_2);
t.setText(text + "");
}
public void display3(String text) {
TextView t = (TextView) findViewById(R.id.display_text_view_3);
t.setText(text + "");
}
}
XML CODE:
<TextView
android:id="@+id/display_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textSize="45sp" />
<TextView
android:id="@+id/display_text_view_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textSize="45sp" />
<TextView
android:id="@+id/display_text_view_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textSize="45sp" />
Correct Answer
Click On No than
1 box: $5
2 boxes: $10
3 boxes: $30
katherine is best
the goal wasn't accomplished and it displayed
1 box: $5
2 boxes: $10
3 boxes: $30
I wrote just the price without adding the number of boxes
1 box: $5
2 boxes: $10
3 boxes: $30
This is the answer an not :
$5
$10
$30
or
5
10
30
Great it Works Totally guys
I'm still wondering how you guys can run the code in Android Studio without issues. Here it exits with an error "incompatible type: String cannot be converted into int." So my guess is because the method display in "display("1 box: $" + raspberryPrice);" is defined as integer as instructed in:
public void display (int i) {
TextView t = (TextView) findViewById(R.id.display_text_view);
t.setText(""+i);
}