2015-10-01 2 views
-1

Я попытался добавить сообщение об ошибке для моего пользователя, если запрос не нашел никакого результата. Я пробовал этот код, но теперь я не понимаю, что означает ошибка, это дает мне возможность построить. Я новичок в программированииparse.com сообщение об ошибке для пользователя android

Заранее спасибо

public void createRechnung(View v) { 
     if (mBetragInput.getText().length() > 0) { 
      mName = mNameInput.getSelectedItem().toString(); 
      ParseQuery<ParseObject> query = ParseQuery.getQuery("Grillen"); 
      query.whereEqualTo("name", mName); 
      query.findInBackground(new FindCallback<ParseObject>() { 
       public void done(List<ParseObject> objects, ParseException eg) { 
        if (eg == null && objects.size() > 0) { 
         mBetrag = mBetragInput.getText().toString(); 
         ParseObject Grillen = objects.get(0); 
         Grillen.put("Betrag", mBetrag); 
         Grillen.put("Rechnung", true); 
         Grillen.saveInBackground(new SaveCallback() { 
          public void done(ParseException e) { 
           if (e == null) { 
            //success, saved! 
            Log.d("MyApp", "Successfully saved!"); 
           } 
          } 
         }); 
        }else { 
         AlertDialog alertDialog = new AlertDialog.Builder(this).create(); 
         alertDialog.setTitle("Danke"); 
         alertDialog.setMessage("Rechnung wurde erstellt."); 
         alertDialog.setButton("OK", new DialogInterface.OnClickListener() { 
          public void onClick(DialogInterface dialog, int which) { 
           mBetragInput.setText("€"); 
           mNameInput.setSelection(0); 

          } 
         }); 
         alertDialog.show(); 
        } 
       } 
      }); 
      AlertDialog alertDialog = new AlertDialog.Builder(this).create(); 
      alertDialog.setTitle("Danke"); 
      alertDialog.setMessage("Rechnung wurde erstellt."); 
      alertDialog.setButton("OK", new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int which) { 
        mBetragInput.setText("€"); 
        mNameInput.setSelection(0); 

       } 
      }); 
      alertDialog.show(); 
     } 
     else { 
      AlertDialog alertDialog = new AlertDialog.Builder(this).create(); 
      alertDialog.setTitle("Achtung"); 
      alertDialog.setMessage("Bitte gib einen Betrag ein!"); 
      alertDialog.setButton("OK", new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int which) { 
       } 
      }); 
      alertDialog.show(); 
     } 
    } 
+0

Какая ошибка? – Aakash

+0

Ошибка: (66, 79) error: несовместимые типы: <анонимный FindCallback > не может быть преобразован в Context –

+0

, на какой строке это исключение? – Aakash

ответ

0

ошибка довольно проста. Вам нужен контекст, а не FindCallback. Попробуйте получить контекст (контекст активности, а не контекст приложения), например getActivity (если возможно, конечно).

new AlertDialog.Builder(this) 

выше метод никогда не даст вам контекст, но вместо FindCallback. Вместо этого попробуйте использовать метод, который даст вам контекст активности. Пример:

new AlertDialog.Builder(WhateverActivity.this) 


Похожие:
Why does AlertDialog.Builder(Context context) only accepts Activity as a parameter?

0

Изменить

AlertDialog alertDialog = new AlertDialog.Builder(this).create(); 

в

AlertDialog alertDialog = new AlertDialog.Builder(MainActivity.this).create(); 

где изменение MainActivity к названию вашей деятельности проблема заключалась в том, что диалоговое окно предупреждения становится неправильным.

+0

спасибо, что после вашей помощи это просто довольно просто –

+0

рада помочь :) – Aakash

+0

Может быть, вы тоже можете мне помочь с использованием устаревшего уровня API в этой части alertDialog.setButton («ОК», новый DialogInterface.OnClickListener() {public void onClick (диалог DialogInterface, int which) {mBetragInput.setText ("€"); mNameInput.setSelection (0);} –

Смежные вопросы