Problemas em setar valores entre Edit's

Pessoal meu problema é o seguinte, tenho meu baseAdapter … e tenho o seguinte problema , quando eu clica no campo edit ele aparece um alertDialogo, pedindo a quantidade com um botão “sim” e outro “não” … só que quando clico no OK , eu queria esse valor aparece no edit de traz … só que isso não acontece…
mais existe um problema para isso que é a minha real duvida, se eu executar o sistema , debugando ele … ele funciona do jeito que eu quero , só que se eu mandar rodar normal … não funciona :confused:

alguem sabe me dizer o porque? :confused:

código ‘BASEADAPTER’ :

package br.virtual.lista;


import java.text.DecimalFormat;
import java.util.List;

import br.virtual.principal.ActConstantes;
import br.virtual.principal.R;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;

public class ActCardapioAdapter extends BaseAdapter
{
	
	
	private final List<ActCardapioVO> cardapios;
	private Context mContext;
	private View textEntryView = null;
	
	
	static class ViewHolder
	{
		public  TextView descri, descridetalhada, valor, codigo;
		public  CheckBox chk;
		public  EditText edqtde;
		public byte[] imgprod;
		public ImageView imgproduto;
	}

	
	
	public ActCardapioAdapter(Context context, List<ActCardapioVO> cardapios)
	{
		this.cardapios = cardapios;
		mContext = context;
		
	}
	

	public int getCount() 
	{
		return  cardapios.size();
	}

	public Object getItem(int position) 
	{
		return cardapios.get(position);
	}

	public long getItemId(int position) 
	{
		return cardapios.get(position).getCodigo();
	}

	public View getView(final int position, View convertView, ViewGroup parent) 
	{
		
		LayoutInflater inflater = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
		convertView = inflater.inflate(R.layout.layout_produtos, null);
			
			
		final ViewHolder holder = new ViewHolder();
		//holder = new ViewHolder();
		holder.codigo = (TextView)convertView.findViewById(R.id.txtCodigoProd);
		holder.descri = (TextView)convertView.findViewById(R.id.txtNome);
		holder.descridetalhada = (TextView)convertView.findViewById(R.id.txtDescricao);
		holder.valor = (TextView)convertView.findViewById(R.id.txtPreco);
		holder.chk = (CheckBox)convertView.findViewById(R.id.checkBox1);
		holder.edqtde = (EditText)convertView.findViewById(R.id.edqtde);
		holder.imgproduto = (ImageView)convertView.findViewById(R.id.imgProduto);
			
			
		convertView.setTag(holder);
		holder.chk.setTag(getItem(position));
		holder.edqtde.setTag(getItem(position));
		
		
		//formatando o campo preço.
		DecimalFormat df = new DecimalFormat("#,###,##0.00");
		
		//final ViewHolder holder = (ViewHolder) convertView.getTag();
		final ActCardapioVO cardapio = cardapios.get(position);
		holder.codigo.setText(String.valueOf(cardapio.Codigo));
		holder.descri.setText(cardapio.getDescri());
		holder.descridetalhada.setText(cardapio.getDescridetalhada());
		holder.valor.setText(String.valueOf(df.format(Float.valueOf(cardapio.getValor()))));
		
		if (cardapio.getImgprod() != null)
		{
			Bitmap bmp = BitmapFactory.decodeByteArray(cardapio.getImgprod(), 0, cardapio.getImgprod().length);
			holder.imgproduto.setImageBitmap(bmp);
		}
		
		if(cardapio.getQuantidade() != 0)
		{
			holder.edqtde.setText(String.valueOf(cardapio.getQuantidade()));
		}
		
		holder.chk.setOnClickListener(new View.OnClickListener() 
		{
			public void onClick(View v) 
			{
				CheckBox chk = (CheckBox) v;
				chk.setTag(cardapio);
				
				SQLiteDatabase db = mContext.openOrCreateDatabase(ActConstantes.NOME_BD,Context.MODE_PRIVATE,null);
				if (chk.isChecked())
				{
					holder.edqtde.setText("0.5");
					holder.edqtde.setEnabled(false);
					String sql = "INSERT INTO PRESAIDA(CODIGO, DESCRI, QTDE) VALUES( " +  cardapios.get(position).getCodigo() +
							", '" + cardapios.get(position).getDescri() + "',   0.5);";
					
					db.execSQL(sql);
				}
				else
				{
					holder.edqtde.setText("");
					holder.edqtde.setEnabled(true);
					String sql = "DELETE FROM PRESAIDA WHERE CODIGO = " + cardapios.get(position).getCodigo() ;
					
					db.execSQL(sql);
				}
				db.close();
			}
		});
		

		holder.edqtde.setOnFocusChangeListener(new View.OnFocusChangeListener() 
		{
			public void onFocusChange(View v, boolean hasFocus)
			{
				if (!hasFocus == true)
				{
					if (holder.edqtde.getText().toString().equals(""))
					{
						if (textEntryView == null)
						{
							LayoutInflater factory = LayoutInflater.from(mContext);
							textEntryView = factory.inflate(R.layout.dados, null);
							final EditText edit1 = (EditText) textEntryView.findViewById(R.id.editQuantiComprada);
							edit1.setText(holder.edqtde.getText().toString());
							AlertDialog.Builder dialog =  new AlertDialog.Builder(mContext);
							dialog.setCancelable(false);
							dialog.setTitle("Quantidade:");
							dialog.setView(textEntryView);
							
							dialog.setPositiveButton("OK", new DialogInterface.OnClickListener() 
							{
								public void onClick(DialogInterface dialog, int whichButton) 
								{
									if(!edit1.getText().toString().equals(""))
									{
										holder.edqtde.setText(edit1.getText().toString().trim());
										
										if (holder.codigo.getText().toString().equals(String.valueOf(cardapios.get(position).getCodigo())))
										{
											SQLiteDatabase db = mContext.openOrCreateDatabase(ActConstantes.NOME_BD,Context.MODE_PRIVATE,null);
											
											String sql = "SELECT * FROM PRODUTO WHERE CODIGO = " + cardapios.get(position).getCodigo();
											
											if (!holder.edqtde.getText().equals(""))
											{
												sql = sql + " AND QTDE = " + holder.edqtde.getText();
											}
											
											Cursor c = db.rawQuery(sql, null);
											
											c.moveToFirst();
											if (!(c.getCount() > 0))
											{
												String sql1 = "UPDATE PRODUTO SET QTDE = " + holder.edqtde.getText() + " WHERE CODIGO = " + cardapios.get(position).getCodigo();
								
												db.execSQL(sql1);
												dialog.cancel();
												
												
											}
											c.close();
											db.close();
										}
									}
									dialog.cancel();
									textEntryView = null;
								}
							});
							
							dialog.setNegativeButton("Cancelar", new DialogInterface.OnClickListener() 
							{
							   public void onClick(DialogInterface dialog, int whichButton) 
							   {
								   dialog.cancel();
								   textEntryView = null;
							   }
							});
							dialog.create();
							dialog.show();
						}
					}
				}
				else
				{
					if (!holder.edqtde.getText().toString().equals(""))
					{
						SQLiteDatabase db = mContext.openOrCreateDatabase(ActConstantes.NOME_BD,Context.MODE_PRIVATE,null);
						
						String sql = "SELECT * FROM PRODUTO WHERE CODIGO = " + cardapios.get(position).getCodigo();
						
						if (!holder.edqtde.getText().equals(""))
						{
							sql = sql + " AND QTDE = " + holder.edqtde.getText();
						}
						
						Cursor c = db.rawQuery(sql, null);
						
						c.moveToFirst();
						if (c.getCount() > 0)
						{
							if (textEntryView == null)
							{
								LayoutInflater factory = LayoutInflater.from(mContext);
								textEntryView = factory.inflate(R.layout.dados, null);
								final EditText edit1 = (EditText) textEntryView.findViewById(R.id.editQuantiComprada);
								edit1.setText(holder.edqtde.getText().toString());
								AlertDialog.Builder dialog =  new AlertDialog.Builder(mContext);
								dialog.setCancelable(false);
								dialog.setTitle("Quantidade:");
								dialog.setView(textEntryView);
								
								dialog.setPositiveButton("OK", new DialogInterface.OnClickListener() 
								{
									public void onClick(DialogInterface dialog, int whichButton) 
									{
										if(edit1.getText().toString().equals(""))
										{
											holder.edqtde.setText(" ");
											
											if (holder.codigo.getText().toString().equals(String.valueOf(cardapios.get(position).getCodigo())))
											{
												SQLiteDatabase db = mContext.openOrCreateDatabase(ActConstantes.NOME_BD,Context.MODE_PRIVATE,null);
												
												String sql = "SELECT * FROM PRODUTO WHERE CODIGO = " + cardapios.get(position).getCodigo();
												
												if (holder.edqtde.getText().equals(""))
												{
													sql = sql + " AND QTDE = " + holder.edqtde.getText();
												}
												
												Cursor c = db.rawQuery(sql, null);
												
												c.moveToFirst();
												if (c.getCount() > 0)
												{
													String sql1 = "UPDATE PRODUTO SET QTDE = NULL WHERE CODIGO = " + cardapios.get(position).getCodigo();
									
													db.execSQL(sql1);
													dialog.cancel();
													
												}
												c.close();
												db.close();
											}
										}
										else
										{
											holder.edqtde.setText(edit1.getText().toString().trim());
											
											if (holder.codigo.getText().toString().equals(String.valueOf(cardapios.get(position).getCodigo())))
											{
												SQLiteDatabase db = mContext.openOrCreateDatabase(ActConstantes.NOME_BD,Context.MODE_PRIVATE,null);
													
												String sql = "SELECT * FROM PRODUTO WHERE CODIGO = " + cardapios.get(position).getCodigo();
													
												if (!holder.edqtde.getText().equals(""))
												{
													sql = sql + " AND QTDE = " + holder.edqtde.getText();
												}
													
												Cursor c = db.rawQuery(sql, null);
												
												c.moveToFirst();
												if (!(c.getCount() > 0))
												{
													String sql1 = "UPDATE PRODUTO SET QTDE = " + holder.edqtde.getText() + " WHERE CODIGO = " + cardapios.get(position).getCodigo();
										
													db.execSQL(sql1);
														
												}
												c.close();
												db.close();
											}
										}
										
										dialog.cancel();
										textEntryView = null;
									}
								});
								
								dialog.setNegativeButton("Cancelar", new DialogInterface.OnClickListener() 
								{
								   public void onClick(DialogInterface dialog, int whichButton) 
								   {
									   dialog.cancel();
									   textEntryView = null;
								   }
								});
								dialog.create();
								dialog.show();
							}
						}
					}
				}
			}
		});
		
		
		return convertView;
	}
	
}

código da Lista : que chama o baseAdapter … :

package br.virtual.lista;

import java.util.ArrayList;
import java.util.List;
import br.virtual.principal.ActConstantes;
import br.virtual.principal.R;

import android.app.ListActivity;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.ListView;



public class ActListaPrincipal extends ListActivity
{
	public int codigo;
	private List<ActCardapioVO> cardapio;
	public Button btnfinalizar, btnlimpar, btnCancelar;
	ListView lista;
	CheckBox chk;


	public void inicializaobjetos()
	{

		lista = (ListView)findViewById(android.R.id.list);
	}


	@Override
	protected void onCreate(Bundle savedInstanceState) 
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		inicializaobjetos();
		setTitle(ActConstantes.NOME_APP);
		cardapio = new ArrayList<ActCardapioVO>();


		//---------------------------------------------------------------------------------
		//-------------- RECUPERANDO VALORES DO BUNDLE PASSADOS POR PARAMETROS ------------
		//---------------------------------------------------------------------------------

		Bundle bundle = getIntent().getExtras();
		if (bundle != null)
		{
			codigo = this.getIntent().getIntExtra("codigo",0);	
		}



		


		lista();
		
		

	}


	public final void lista()
	{

		SQLiteDatabase db = openOrCreateDatabase(ActConstantes.NOME_BD,Context.MODE_PRIVATE,null);
		String sql = "SELECT * FROM PRODUTO WHERE CODGRUPO = " + codigo;

		Cursor c = db.rawQuery(sql, null);

		c.moveToFirst();
		while ( !c.isAfterLast())
		{
			cardapio.add(new ActCardapioVO(c.getInt(c.getColumnIndex("CODIGO")),
							c.getString(c.getColumnIndex("DESCRI")), 
							c.getBlob(c.getColumnIndex("DESCRIDETALHADA")), 
							c.getFloat(c.getColumnIndex("AVISTA")),
							c.getBlob(c.getColumnIndex("IMGPROD")),
							c.getInt(c.getColumnIndex("QTDE")),
							false));
		
		
			c.moveToNext();
		}
		c.close();

		if(db != null)
		{
			db.close();
		}
		
		
		
		BaseAdapter adpter = new ActCardapioAdapter(ActListaPrincipal.this, cardapio);
		setListAdapter(adpter);
	}
	
	

	public final void obtemvalores()
	{
		
		
	}


}

alguem sabe o que pode ser?

HELP *

ninguém?

alguém por favor me ajuda ’ :confused: