Błąd podczas tworzenia AlertDialog w Androidzie

0

Witajcie:
problem:

Error:(84, 19) error: no suitable constructor found for AlertDialog(Context)
constructor AlertDialog.AlertDialog(Context,int) is not applicable
(actual and formal argument lists differ in length)
constructor AlertDialog.AlertDialog(Context,boolean,OnCancelListener) is not applicable
(actual and formal argument lists differ in length)

kod:

public void showMessage(String title,String message) // if not found show this message ^
    {
        AlertDialog builder;
        builder = new AlertDialog(getBaseContext());
        builder.setCancelable(true); // mozna wyalaczyc
        builder.setTitle(title);
        builder.setMessage(message);
        builder.show();
    }
0

Klasa AlertDialog ma konstruktory chronione. Dobrze kombinujesz z builderem ale klasa nie ta. Spójrz na
http://developer.android.com/reference/android/app/AlertDialog.Builder.html

Najpierw budujesz alert, póżniej po ustawieniu wywołujesz create() i dopiero wtedy operujesz na alercie, czyli show().

0

problem rozwiazany zamiast AlertDialog powinien byc AlertDialog.Builder

0

Myyk..

new AlertDialog.Builder(getBaseContext())
                .setCancelable(true); // mozna wyalaczyc
                .setTitle(title);
                .setMessage(message);
                .show();

RTFM.

Edit: Too late :(

0

nie bede zakladal kolejnego tematu bo problem jest powiazany. Po nacisnieciu na klawiszy bView chce aby w alercie wyswietlo sie wszystko z bazy danych (kolumna o indeksie 1). Kiedy klikam na przycisku : "Aplikacja zostaje zatrzymana" i brak inf. o bledzie
kod class gdzie button:

public void viewAllData()  // selecting from database
    {
        buttonView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
              Cursor res =  myDb.getAllData();
                 if (res.getColumnCount()==0)
                 {
                     // show message if not found data
                     showMessage("Error","Nothing found");
                     return;

                 }
                 // found:
                StringBuffer buffer = new StringBuffer();

                while (res.moveToNext())
                {
                     buffer.append("Polish:"+ res.getString(0)+"\n\n");
                }

                showMessage("Data: ",buffer.toString());
            }
        }
        );
    }

    public void showMessage(String title,String message) // if not found show this message ^
    {
        AlertDialog.Builder builder = new AlertDialog.Builder(getBaseContext());
        builder.create();
        builder.setCancelable(true); // mozna wylaczyc
        builder.setTitle(title);
        builder.setMessage(message);
        builder.show();
    }

kod klasy DbHelper, ktora rozszerza SqlOpenHelper

public Cursor getAllData()  // select from database
    {
        SQLiteDatabase db = getWritableDatabase();
        Cursor res = db.rawQuery("SELECT * FROM"+ DATABASE_TABLE,null);
        return res;
    }

button jest zadeklarowany, w onCreate metoda jest wywolana, stworzylem obiekt klasy DbHelper i sama funkcja "insertowania" dziala

0
 Cursor res = db.rawQuery("SELECT * FROM"+ DATABASE_TABLE,null)

znów błąd w QUERY. Brakuj spacji po FROM. Dzięki temu masz SELECT * FROMt_name.

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