Ola amigos tudo bem?
Estou com um problemão aqui, não estou conseguindo criar um alertDialog quando o usuario clica em um item da lista. O Listener está funcionando, porém não estou conseguindo implementar o Dialog. Pelo que pesquisei no stackoverflow, acredito que seja erro de Contexto...
Erro no Cat:
03-04 12:08:11.946: E/AndroidRuntime(3980): android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@4109b950 is not valid; is your activity running?
03-04 12:08:11.946: E/AndroidRuntime(3980): at android.view.ViewRootImpl.setView(ViewRootImpl.java:517)
03-04 12:08:11.946: E/AndroidRuntime(3980): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:301)
03-04 12:08:11.946: E/AndroidRuntime(3980): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:215)
03-04 12:08:11.946: E/AndroidRuntime(3980): at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:140)
03-04 12:08:11.946: E/AndroidRuntime(3980): at android.view.Window$LocalWindowManager.addView(Window.java:537)
03-04 12:08:11.946: E/AndroidRuntime(3980): at android.app.Dialog.show(Dialog.java:285)
03-04 12:08:11.946: E/AndroidRuntime(3980): at br.com.minierp.ListaProdutosAdapter$1.onClick(ListaProdutosAdapter.java:99)
E meu adapter responsavel por criar o Dialog:
public class ListaProdutosAdapter extends CursorAdapter implements OnClickListener {
private LayoutInflater mInflater;
private int idProdutoIndex, descricaoProdutoIndex, qtdProdutoIndex, tamProdutoIndex, vVarejoProdutoIndex, statusProdutoIndex, tipoProdutoIndex, marcaProdutoIndex;
Context ctx;
@SuppressWarnings("deprecation")
public ListaProdutosAdapter(Context context, Cursor c) {
super(context, c);
ctx = context;
idProdutoIndex = c.getColumnIndex(BDadapter.COLUNA_ID_PRODUTO);
descricaoProdutoIndex = c.getColumnIndex(BDadapter.COLUNA_DESCRICAO_PRODUTO);
qtdProdutoIndex = c.getColumnIndex(BDadapter.COLUNA_QUANTIDADE_PRODUTO);
tamProdutoIndex = c.getColumnIndex(BDadapter.COLUNA_TAMANHO_PRODUTO);
vVarejoProdutoIndex = c.getColumnIndex(BDadapter.COLUNA_VALOR_VAREJO_PRODUTO);
statusProdutoIndex = c.getColumnIndex(BDadapter.COLUNA_STATUS_PRODUTO);
tipoProdutoIndex = c.getColumnIndex(BDadapter.COLUNA_DESCRICAO_TIPO_PRODUTO);
marcaProdutoIndex = c.getColumnIndex(BDadapter.COLUNA_DESCRICAO_MARCA_PRODUTO);
mInflater = LayoutInflater.from(context);
// TODO Auto-generated constructor stub
}
public void onClick(View v) {
// TODO Auto-generated method stub
Log.i("listener teste", "teste" );
}
@Override
public void bindView(View view, Context context, Cursor c) {
// TODO Auto-generated method stub
TextView idProduto = (TextView) view.findViewById(R.id.listaProduto_text_idProduto);
TextView descricaoProduto = (TextView) view.findViewById(R.id.listaProduto_text_descricao);
TextView qtdProduto = (TextView) view.findViewById(R.id.listaProduto_text_quantidade);
TextView tamanhoProduto = (TextView) view.findViewById(R.id.listaProduto_text_tamanho);
TextView vVarejoProduto = (TextView) view.findViewById(R.id.listaProduto_text_valorAtacado);
TextView statusProduto = (TextView) view.findViewById(R.id.listaProduto_text_status);
TextView tipoProduto = (TextView) view.findViewById(R.id.listaProduto_text_tipoProduto);
TextView marcaProduto = (TextView) view.findViewById(R.id.listaProduto_text_marcaProduto);
if(c.getInt(qtdProdutoIndex)==0){
qtdProduto.setText("");
}else qtdProduto.setText(String.valueOf(c.getInt(qtdProdutoIndex)));
idProduto.setText(String.valueOf(c.getInt(idProdutoIndex)));
descricaoProduto.setText(c.getString(descricaoProdutoIndex));
tamanhoProduto.setText(c.getString(tamProdutoIndex));
vVarejoProduto.setText(String.valueOf(c.getFloat(vVarejoProdutoIndex)));
statusProduto.setText(c.getString(statusProdutoIndex));
tipoProduto.setText(c.getString(tipoProdutoIndex));
marcaProduto.setText(c.getString(marcaProdutoIndex));
view.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
Log.i("testeListener", "Listener esta funcionando");
AlertDialog.Builder modificarDialogBuilder = new AlertDialog.Builder("Que contexto meu Deus...");
modificarDialogBuilder.setMessage("Escolha a ação desejada");
modificarDialogBuilder.setTitle("Ação");
modificarDialogBuilder.setPositiveButton("Deletar", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(ctx, "Deletar", Toast.LENGTH_SHORT).show();
}
});
modificarDialogBuilder.setNegativeButton("Atualizar", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(ctx, "Alterar", Toast.LENGTH_LONG).show();
}
});
AlertDialog modificarDialog = modificarDialogBuilder.create();
modificarDialog.show();
}
});
}
@Override
public View newView(Context arg0, Cursor arg1, ViewGroup arg2) {
// TODO Auto-generated method stub
return mInflater.inflate(R.layout.activity_lista_produtos, null);
}
}
Nunca me dei bem com o tal do contexto... Por favor alguma ajuda?
Abraços pessoal;
Agradeço antecipadamente.
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.






0 comentários:
Postar um comentário