Android EditText onclicklistener problem

I have a sales application. When the user clicks EditText, the pop-up calculator wants to be displayed. In my case, when the user double clicks editxt onclicklister, it only displays the pop-up 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 a question for sales representatives. They want to double-click each product clcik

I want to display the pop-up calculator when the user selects texteditor (don't 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); 

The question is:

`Tablelayout contains the product information list. When the user clicks qty, the calculator pops up. After entering the value, it will clear the number and quantity of EditText in that line. It goes to the first line of EditText '

This is my screen picture

resolvent:

Why add onclickevent on EditText,

For EditText, it makes sense to use onfocuschangelistener(). Once EditText gets focus, it will activate the dialog box. In onfocuschangelistener(), you can check whether EditText gets focus or loses focus

The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>