Poxa mano,
Já tive o mesmo problema, mas não dei continuidade a implementação, pois não precisei.
Mas lembro que consegui solucionar, acho que foi usando uma tag soft keyboard no xml, e colocando o edittext no adapter usando hasmap, etc.
Posta teu codigo no pastebin.com fica melhor para visualizar.
Depois dou uma olhada pra ve se tem algo aqui ainda, ai tento lhe auxiliar.
Se alguem souber de algo também,
Vlw!
Psy Khé.
2012/8/6 JefersonCarlos_ <jef.netcarlos@gmail.com>
Pessoal, Bom dia.tenho uma Lista com o Edit, e implementei o método(setOnFocusChangeListener) pra quando eu clicar dentro do edit ele fazer algo, só que é o seguinte, meu Edit é do tipo numérico, então quando eu clico e ele ganha o Foco aparece para mim o teclado numérico, porem dentro de alguns instantes o teclado numérico se transforme em teclado de letras.. e o Edit perde o Foco, .. para inserir os dados clico no edit novamente e digito o que eu quero, porem quando eu escondo o teclado e Edit perde o que eu digitei dentro dele, fica em branco, não sei mais que fazer, alguém sabe como eu posso mudar isso?vou deixar meu código do meu BaseAdapter logo aqui abaixo.Obrigado.package br.virtual.lista;import java.text.DecimalFormat;import java.util.List;import br.virtual.principal.ActConstantes;import br.virtual.principal.R;import android.content.Context;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;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){View view = null;if (convertView == null){LayoutInflater inflater = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);view = inflater.inflate(R.layout.layout_produtos, null);ViewHolder holder = new ViewHolder();//holder = new ViewHolder();holder.codigo = (TextView)view.findViewById(R.id.txtCodigoProd);holder.descri = (TextView)view.findViewById(R.id.txtNome);holder.descridetalhada = (TextView)view.findViewById(R.id.txtDescricao);holder.valor = (TextView)view.findViewById(R.id.txtPreco);holder.chk = (CheckBox)view.findViewById(R.id.checkBox1);holder.edqtde =(EditText)view.findViewById(R.id.edqtde);holder.imgproduto = (ImageView)view.findViewById(R.id.imgProduto);view.setTag(holder);holder.chk.setTag(getItem(position));holder.edqtde.setTag(getItem(position));}else{view = convertView;((ViewHolder) convertView.getTag()).chk.setTag(cardapios.get(position));((ViewHolder) convertView.getTag()).edqtde.setTag(cardapios.get(position));}//formatando o campo preço.DecimalFormat df = new DecimalFormat("#,###,##0.00");final ViewHolder holder = (ViewHolder) view.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);}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){EditText edqtde = (EditText) v;edqtde.setTag(cardapio);if (!hasFocus == true){if (!edqtde.getText().toString().equals("")){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 PRESAIDA WHERE CODIGO = " + cardapios.get(position).getCodigo() +" AND QTDE = " + Integer.parseInt(edqtde.getText().toString());Cursor c = db.rawQuery(sql, null);c.moveToFirst();if (!(c.getCount() > 0)){String sql1 = "INSERT INTO PRESAIDA(CODIGO, DESCRI, QTDE) VALUES( " + cardapios.get(position).getCodigo() +", '" + cardapios.get(position).getDescri() + "', " + Integer.parseInt(edqtde.getText().toString()) + ");";db.execSQL(sql1);}c.close();db.close();}}else{SQLiteDatabase db = mContext.openOrCreateDatabase(ActConstantes.NOME_BD,Context.MODE_PRIVATE,null);String sql = "SELECT * FROM PRESAIDA WHERE CODIGO = " + cardapios.get(position).getCodigo();Cursor c = db.rawQuery(sql, null);c.moveToFirst();if (c.getCount() > 0){String sql1 = "DELETE FROM PRESAIDA WHERE CODIGO = " + cardapios.get(position).getCodigo();db.execSQL(sql1);}c.close();db.close();}}}});return view;}}






0 comentários:
Postar um comentário