Android - AlertDialog odpalany z innej klasy

0

Witam,
mam poniższy kod:

public class Main extends Activity {

    public class Socket extends Websocket
    {

        public Socket(String serverURI) throws URISyntaxException {
            super(serverURI);
        }

        @Override
        public void onMessage(String s) {
            Log.d("Main WebSocket class", s);
            try {
                JSONObject message = new JSONObject(s);

                MessageParser messageParser = new MessageParser(message);
                messageParser.parse(Main.this);


            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
    }


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

}


public class MessageParser {
    private JSONObject message;

    public MessageParser(JSONObject message)
    {
        this.message = message;
    }

    public void parse(Main obj) throws JSONException {
        new DialogBuilder(obj, "TEST", "OPIS");
    }
}


public class DialogBuilder {
    public DialogBuilder(Context context, String title, String content)
    {
        AlertDialog.Builder notice = new AlertDialog.Builder(context);
        notice.setTitle(title)
                .setMessage(content)
                .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {

                    }
                })
                .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {

                    }
                })
                .setIcon(android.R.drawable.ic_dialog_alert)
                .show();
    }
}

Każda klasa w innym pliku.

Generalnie jak przyjdzie websocketem wiadomość do aplikacji chce wyświetlić AlertDialog, jednak wywołanie jej w taki sposob jak przedstawilem w kodzie nie dziala. Nie generuje to żadnego błędu jednak nic się nie wyświetla.

Chciałbym obsługiwać wiadomości przychodzące przez zewnętrzną klasę tak jak jest w przykładzie, ale czy tak się da :)?

dzięki

0

no dobra a gdzie masz tu wywolanie klasy Socket żeby coś Ci zadziałało?

0
wojciechmaciejewski napisał(a):

no dobra a gdzie masz tu wywolanie klasy Socket żeby coś Ci zadziałało?

Dużą część kodu usunąłem, zostawiłem tylko to co jest istotne :).
Klasa Socket jest wywołana i odbiera "wiadomości" poprawnie.
Nawet jest wywoływany obiekt new AlertDialog który w konstruktorze powinien stworzyć i wyświetlić alert, ale niestety tak się nie dzieje.

0

a wywołaj create zamiast show i zobacz czy w ogóle tworzy Ci się dialog

1 użytkowników online, w tym zalogowanych: 0, gości: 1