Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialTiffanie Kyker
949 Pointsunfortunately crystal ball has stopped.
When im run the ADV I keep getting a error saying unfortunately crystal Ball has stopped I haven't found a error in my code though not sure what to do here.
7 Answers
Tyler Miller
iOS Development Techdegree Student 8,299 Points// The button was clicked, so update the answer label with an answer
String answer = "";
// Randomly select one of three answers: Yes, No, or Maybe
Random randomGenerator = new Random(); // Construct a new Random number generator
int randomNumber = randomGenerator.nextInt(answer.length());
Your issue is that you are passing answer.length() when it should be answers.length()
Currently you are passing a String by the name of answer to n data collection method. Hope this helps, remember to double check your spelling!
Matheus G Oliveira
9,682 PointsHey Tiffanie,
Please remember to post the code you are having problems so we can have a look on it. With the descriptions you gave its almost imposible to find an issue.
Just as a reminder, having errors saying "Unfortunately ... has stopped" is normal for us programmers and means that something went wrong with the code so we have to have a look on it.
;)
Tiffanie Kyker
949 Pointspackage com.example.crystalball;
import java.util.Random;
import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.TextView;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Declare our View variables and assign them the Views from layout file
final TextView answerLabel = (TextView) findViewById(R.id.textView1);
Button getAnswerButton = (Button) findViewById(R.id.button1);
getAnswerButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
String[] answers = {
"It is certain",
"It is decidedly so",
"All signs say Yes",
"The stars are not aligned",
"My reply is no",
"It is doubtful",
"Better not tell you now",
"concentrate and ask again",
"unable to answer now",};
// The button was clicked, so update the answer label with an answer
String answer = "";
// Randomly select one of three answers: Yes, No, or Maybe
Random randomGenerator = new Random(); // Construct a new Random number generator
int randomNumber = randomGenerator.nextInt(answer.length());
/*
* 0 = Yes
* 1 = No
* 3 = Maybe
*/
answer = answers[randomNumber];
//Update the label with our dynamic answer
answerLabel.setText(answer);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
Tiffanie Kyker
949 PointsThanks sorry about that....
Tiffanie Kyker
949 Pointspackage com.example.crystalball;
import java.util.Random;
import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.TextView;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Declare our View variables and assign them the Views from layout file
final TextView answerLabel = (TextView) findViewById(R.id.textView1);
Button getAnswerButton = (Button) findViewById(R.id.button1);
getAnswerButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
String[] answers = {
"It is certain",
"It is decidedly so",
"All signs say Yes",
"The stars are not aligned",
"My reply is no",
"It is doubtful",
"Better not tell you now",
"concentrate and ask again",
"unable to answer now",};
// The button was clicked, so update the answer label with an answer
String answer = "";
// Randomly select one of three answers: Yes, No, or Maybe
Random randomGenerator = new Random(); // Construct a new Random number generator
int randomNumber = randomGenerator.nextInt(answer.length());
/*
* 0 = Yes
* 1 = No
* 3 = Maybe
*/
answer = answers[randomNumber];
//Update the label with our dynamic answer
answerLabel.setText(answer);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
Tiffanie Kyker
949 PointsSo what's happening is it load I click the button and I get the code error say it shut down.
Tiffanie Kyker
949 PointsOMG.. Your right I keep forgetting the s on the end of answer but the system didn't catch it either thank you.
Tyler Miller
iOS Development Techdegree Student 8,299 PointsThe system won't catch it since you have an object with the name answer.
Tiffanie Kyker
949 PointsThat was the problem thank you so much.