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!
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 trial

David Thomas
Courses Plus Student 1,577 PointsAndroid Emulator Error "Unfortunately Crystal Ball has stopped"
Hi Hoping someone can assist please. The Android Emulator ran ok on the first 2 exercises. I'm now at" Introduction to Methods and Classes" but now I get the above error when I run the project , even though there are no errors showing. hoping there is a simple fix for this thanks - DT
4 Answers

Ben Rubin
Courses Plus Student 14,658 PointsYour program is probably crashing. You can see the line of code that it's crashing on if you open the LogCat window (Go to Window -> Show View -> Other, then select LogCat under Android). One of the errors probably includes the text com.example.android.CrystalBall (or something like that). If you double click on that line, it'll take you to the line of code that caused the crash. My guess is that it's crashing because you're calling a method on an object that is null.

David Thomas
Courses Plus Student 1,577 PointsHi Ben, Thanks I took the above steps and found a problem on line 40, I restarted the emulator then ran the code, but the "Unfortunately Crystal Ball has stopped" message appeared on the emulator again. I'll try again tomorrow when I finish work. Appreciate your help . thanks

Ben Rubin
Courses Plus Student 14,658 PointsThere's a bug in your code that needs to be fixed before it'll stop crashing. My guess is that the line that it's crashing on is where you're calling a method or accessing a property of an object that is currently null. If you post your code, I'd be glad to take a look.

David Thomas
Courses Plus Student 1,577 PointsHi Ben, Thanks , here Is the code:
package com.example.crystal.ball;
import java.util.Random; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.TextView;
public abstract class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//declare our view variables
final TextView answerLabel = (TextView) findViewById(R.id.textView1);
Button getAnswerButton = (Button) findViewById(R.id.button1);
getAnswerButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
// The button was clicked so update the answer label with an answer
String answer = " ";
//\Randomly select one of the following answers yes, no or maybe
Random randomGenerator = new Random(); //Construct a new random number generator
//Update the label with our Dynamic Answer
int randomNumber = randomGenerator.nextInt(3);
answer = Integer.toString(randomNumber);
answerLabel.setText(answer);
}
});
}
}

Ben Rubin
Courses Plus Student 14,658 PointsThat code all looks good to me. Which is the line that the LogCat tells you that it's crashing on?

David Thomas
Courses Plus Student 1,577 PointsHi Ben, Thanks, the LogCat is no longer showing any errors or warnings.