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 trial

Android Build a Weather App (2015) Concurrency and Error Handling Building an Alert Dialog

aybars tokta
aybars tokta
4,491 Points

unreachable statement error

import android.content.Context;
import android.os.Bundle;

public class AlertDialogFragment extends DialogFragment {

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        Context context = getActivity();

        // Insert code here!
    AlertDialog.Builder builder = new AlertDialog.Builder(context).setTitle("Sorry!").setMessage("Try again!").setPositiveButton("OK",null);       return null;
    AlertDialog dialog = builder.create();
      return dialog;
    }
}

i am getting an error related to dialog object

AlertDialogFragment.java
import android.content.Context;
import android.os.Bundle;

public class AlertDialogFragment extends DialogFragment {

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        Context context = getActivity();

        // Insert code here!
    AlertDialog.Builder builder = new AlertDialog.Builder(context).setTitle("Sorry!").setMessage("Try again!").setPositiveButton("OK",null);       return null;
    AlertDialog dialog = builder.create();
      return dialog;
    }
}
MovieActivity.java
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import java.io.IOException;

public class MovieActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_movie);

        // Get some movie information!
        String apiUrl = "http://api.rottentomatoes.com/api/public/v1.0/movies.json?apikey=xyz&q=hobbit";
        OkHttpClient client = new OkHttpClient();
        Request request = new Request.Builder()
                .url(apiUrl)
                .build();

        Call call = client.newCall(request);
        call.enqueue(new Callback() {
            @Override
            public void onFailure(Request request, IOException e) {

            }

            @Override
            public void onResponse(Response response) throws IOException { }
        });
    }
}

1 Answer

faraz
PLUS
faraz
Courses Plus Student 21,474 Points

You are creating your dialog wrong. See this link for more information on how to make an AlertDialog properly.

// This:
    AlertDialog.Builder builder = new AlertDialog.Builder(context).setTitle("Sorry!").setMessage("Try again!").setPositiveButton("OK",null);       return null;
    AlertDialog dialog = builder.create();
      return dialog;
// Should look something like this:
                Builder builder = new AlertDialog.Builder(this);
                builder.setTitle("Sorry!");
                builder.setMessage("Try again!");
                builder.setButton("OK", new DialogInterface.OnClickListener() {
                       public void onClick(DialogInterface dialog, int id) {
                       // Here add whatever you want to do after tapping OK
                        }
                 });
                AlertDialog dialog = builder.create();
                dialog.show();