我有销售应用程序。当用户点击EditText时,弹出计算器要显示。在我的情况下,当用户双击EditText onClickLister
时,它只显示弹出式计算器。的Android的EditText OnClickListener问题
这是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);
这是我的代码:
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);
}
}
这是可以转让的问题代表他们想双击每一个产品clcik。
我想显示弹出式计算器,当用户选择的文本编辑。 (不要双击)。
这是我的代码:
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);
问题是:
`TableLayout包含的产品信息 列表中输入值弹出计算器 后数量的用户点击它的时候,它会clearFocus上那行EditText数量&它去第一行EditText'
这是我的屏幕的图片
图片在哪里?你能否再次改写你的问题,有些部分不是很清楚。 – Mayank 2012-03-28 08:09:47