I have sales application. When the user click on EditText the popup calculator want to display. In my case when user double click on EditText onClickLister only it display the popup calculator.
This is myEditText
final EditText txtQty = new EditText(this);
txtQty.setHeight(1);
if(productList.get(i).getQty() != 0.00){
txtQty.setText(Double.toString(productList.get(i).getQty()));
}
txtQty.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,42));
txtQty.setTextSize(9);
txtQty.setId(i);
txtQty.setHint("0");
txtQty.setClickable(true);
txtQty.setSelected(true);
txtQty.setSelectAllOnFocus(true);
txtQty.setInputType(InputType.TYPE_NULL);
tr.addView(txtQty);
This is my code:
txtQty.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
String productCode= txtCode.getText().toString();
double price = getProductPrice(productCode).getPrice();
txtPrice.setText(""+price);
if(invPriceEdit.equals("3")){
if(editPrice.getText().toString().equals("") || editPrice.getText().toString().equals("0.00") || editPrice.getText().toString().equals("0") || editPrice.getText().toString().equals("0.0")){
txtPrice.setText(""+ price);
editPrice.setText("" +price);
}else{
String ePrice = editPrice.getText().toString();
editPrice.setText("" +ePrice);
}
}
keyAmount = new StringBuffer();
if(keyAmount.length() > 0){
keyAmount.delete(0, keyAmount.length());
}
int[] origin = new int[2];
v.getLocationOnScreen(origin);
final int xVal = origin[0];
final int yVal = origin[1] ;
dialog = new Dialog(SalesActivityGroup.group.getParent());
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
View vLoad = LayoutInflater.from(SalesActivityGroup.group.getParent()).inflate(R.layout.key_pad, null);
dialog.setContentView(vLoad);
android.view.WindowManager.LayoutParams lp= dialog.getWindow().getAttributes();
dialog.setCancelable(true);
dialog.setCanceledOnTouchOutside(true);
lp.x = xVal;
lp.y = yVal;
lp.width = LayoutParams.WRAP_CONTENT;
lp.height = LayoutParams.WRAP_CONTENT;
lp.gravity = Gravity.TOP | Gravity.LEFT;
lp.dimAmount = 0;
dialog.getWindow().setAttributes(lp);
dialog.setCancelable(false);
keyamDisplay = (TextView)dialog.findViewById(R.id.keyamDisplay);
Button txtone = (Button)dialog.findViewById(R.id.txtone);
txtone.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
keyAmount.append("1");
keyamDisplay.setText("" + keyAmount.toString());
}
});
Button txttwo = (Button)dialog.findViewById(R.id.txttwo);
txttwo.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
keyAmount.append("2");
keyamDisplay.setText("" + keyAmount.toString());
}
});
Button txtthree = (Button)dialog.findViewById(R.id.txtthree);
txtthree.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
keyAmount.append("3");
keyamDisplay.setText("" + keyAmount.toString());
}
});
Button txtfour = (Button)dialog.findViewById(R.id.txtfour);
txtfour.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
keyAmount.append("4");
keyamDisplay.setText("" + keyAmount.toString());
}
});
Button txtfive = (Button)dialog.findViewById(R.id.txtfive);
txtfive.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
keyAmount.append("5");
keyamDisplay.setText("" + keyAmount.toString());
}
});
Button txtsix = (Button)dialog.findViewById(R.id.txtsix);
txtsix.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
keyAmount.append("6");
keyamDisplay.setText("" + keyAmount.toString());
}
});
Button txtseven = (Button)dialog.findViewById(R.id.txtseven);
txtseven.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
keyAmount.append("7");
keyamDisplay.setText("" + keyAmount.toString());
}
});
Button txteight = (Button)dialog.findViewById(R.id.txteight);
txteight.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
keyAmount.append("8");
keyamDisplay.setText("" + keyAmount.toString());
}
});
Button txtnine = (Button)dialog.findViewById(R.id.txtnine);
txtnine.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
keyAmount.append("9");
keyamDisplay.setText("" + keyAmount.toString());
}
});
Button txtZero = (Button)dialog.findViewById(R.id.txtZero);
txtZero.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
keyAmount.append("0");
keyamDisplay.setText("" + keyAmount.toString());
}
});
Button txtdot = (Button)dialog.findViewById(R.id.txtdot);
txtdot.setEnabled(false);
txtdot.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
keyAmount.append(".");
keyamDisplay.setText("" + keyAmount.toString());
}
});
Button diaDelete = (Button)dialog.findViewById(R.id.diaDelete);
diaDelete.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if(keyAmount.length() > 0){
keyAmount.delete(keyAmount.length()-1, keyAmount.length());
}
keyamDisplay.setText("" + keyAmount.toString());
}
});
ImageButton imageSmileExit = (ImageButton)dialog.findViewById(R.id.imageSmileExit);
imageSmileExit.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
dialog.dismiss();
}
});
Button txtDialogOK = (Button)dialog.findViewById(R.id.txtDialogOK);
txtDialogOK.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.show();
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
}
}
This is an issue for sale Rep. They want to double click on each and every product clcik.
I want to display popup calculator when the user select the textEditor . (Don’t want double click).
This is my Code:
final EditText txtQty = new EditText(this);
txtQty.setHeight(1);
if(productList.get(i).getQty() != 0.00){
txtQty.setText(Double.toString(productList.get(i).getQty()));
}
txtQty.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,42));
txtQty.setTextSize(9);
txtQty.setId(i);
txtQty.setHint("0");
txtQty.setInputType(InputType.TYPE_NULL);
tr.addView(txtQty);
Problem is:
`TableLayout contain list of product info
when the user click on Qty it popup calculator
after enter the value, it will clearFocus on that row EditText qty & It go to first Row EditText’
this is the picture of my screen

I have done using setOnTouchListener