terça-feira, maio 15, 2012

Erro ao utilizar o toast para exibir uma mensagem em um dialogo

HI,

Hoje de manhã modifiquei um código que exclui um registro. Ao selecionar o menu Excluir Contato do contextmenu, implementei um dialogo para questionar se realmente deseja excluir.

Antes estava assim:

Toast.makeText(this, "Contato Excluíodo!!!", Toast.LENGTH_SHORT).show();


Fui usar o mesmo código dentro do onCLick do AlertDialog e deu a seguinte mensagem de erro:

The method makeText(Context, CharSequence, int) in the type Toast is not applicable for the arguments (new DialogInterface.OnClickListener(){}, String, int)


Tentei usar assim:

               
                AlertDialog.Builder builder = new AlertDialog.Builder(this);
           builder.setMessage("Confirmar a exclusão do contato?")
                  .setCancelable(false)
                  .setPositiveButton("SIM", new DialogInterface.OnClickListener() {
                      public void onClick(DialogInterface dialog, int id) {
                       Toast.makeText(this, "Contato Excluído!!!", Toast.LENGTH_SHORT).show();
                     
                      contatos.remove(info.position);
               
                  mAdapter.notifyDataSetChanged();
                   
                     if (contatos.isEmpty()){
                      empty.setText("Listagem Vazia");
                     }
                      }
                  })
                  .setNegativeButton("NÃO", new DialogInterface.OnClickListener() {
                      public void onClick(DialogInterface dialog, int id) {
                           dialog.cancel();
                      }
                  });
           AlertDialog alert = builder.create();
           alert.show();


A solução foi apenas acrescentar o nome da activity antes do this

Toast.makeText(NomeActivity.this, "Contato Excluído!!!", Toast.LENGTH_SHORT).show();

Encontrei com uma pequena busca no google

Toast inside OnClickListener
http://stackoverflow.com/questions/4531539/toast-inside-onclicklistener


Fiquem na Paz!!!!


Nenhum comentário: