Android 如何在不单击的情况下更改EditText中的值?
大家好,我制作了一个长度转换应用程序。它有11个基本单位,清除和转换按钮。 下面是我的应用程序的工作原理 用户输入所需值(根据单位)点击转换按钮,获得转换值 但我不想使用convert按钮(onClick),我希望每当我输入所需的输入时,输出会相应地被更改为输入,但仍然有效。 我们将不胜感激。 下面是MainActivity.java`Android 如何在不单击的情况下更改EditText中的值?,android,eclipse,onclick,android-edittext,Android,Eclipse,Onclick,Android Edittext,大家好,我制作了一个长度转换应用程序。它有11个基本单位,清除和转换按钮。 下面是我的应用程序的工作原理 用户输入所需值(根据单位)点击转换按钮,获得转换值 但我不想使用convert按钮(onClick),我希望每当我输入所需的输入时,输出会相应地被更改为输入,但仍然有效。 我们将不胜感激。 下面是MainActivity.java` public class MainActivity extends Activity { private EditText v1,v2,v3,v4,
public class MainActivity extends Activity {
private EditText v1,v2,v3,v4,v5,v6,v7,v8,v9,v11,v12;
private Button Convert;
private Button Reset;
private double val1=0,val2=0,val3=0,val4=0,val5=0,val6=0,val7=0,val8=0,val9=0,val11=0,val12=0;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
v1= ( EditText)findViewById(R.id.editText1);
v2= ( EditText)findViewById(R.id.editText2);
v3= ( EditText)findViewById(R.id.editText3);
v4= ( EditText)findViewById(R.id.editText4);
v5= ( EditText)findViewById(R.id.editText5);
v6= ( EditText)findViewById(R.id.editTextAB);
v7= ( EditText)findViewById(R.id.editText7);
v8= ( EditText)findViewById(R.id.editText8);
v9= ( EditText)findViewById(R.id.editText9);
v11 = ( EditText)findViewById(R.id.editText6);
v12= ( EditText)findViewById(R.id.editText10);
Convert = (Button)findViewById(R.id.button1);
Reset = (Button)findViewById(R.id.button2);
Convert.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
convertValues();
}
}
);
Reset.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
reset();
}
}
);
}
void convertValues()
{
if (v1.getText().length() > 0 && !(v2.getText().length() > 0) && !(v3.getText().length() > 0) && !(v4.getText().length() > 0) && !(v5.getText().length() > 0) && !(v6.getText().length() > 0)&& !(v7.getText().length() > 0)&& !(v8.getText().length() > 0)&& !(v9.getText().length() > 0)&& !(v11.getText().length() > 0)&& !(v12.getText().length() > 0) )
{
val1=Double.parseDouble(v1.getText().toString());
val2=InchToCm(val1);
val3=InchToMl(val1);
val4=InchToKm(val1);
val5=InchToM(val1);
val6=InchToY(val1);
val7=InchToFt(val1);
val8=InchToLg(val1);
val9=InchToLgn(val1);
val11=InchTomm(val1);
val12=InchToNm(val1);
}
else if(v2.getText().length() > 0 && !(v1.getText().length() > 0) && !(v3.getText().length() > 0) && !(v4.getText().length() > 0) && !(v5.getText().length() > 0) && !(v6.getText().length() > 0)&& !(v7.getText().length() > 0)&& !(v8.getText().length() > 0)&& !(v9.getText().length() > 0) && !(v11.getText().length() > 0)&& !(v12.getText().length() > 0))
{
val2=Double.parseDouble(v2.getText().toString());
val1=CmToInch(val2);
val3=CmToMl(val2);
val4=CmToKm(val2);
val5=CmToM(val2);
val6=CmToY(val2);
val7=CmToFt(val2);
val8=CmToLg(val2);
val9=CmToLgn(val2);
val11=CmTomm(val2);
val12=CmToNm(val2);
}
else if (v3.getText().length() > 0 && !(v2.getText().length() > 0) && !(v1.getText().length() > 0) && !(v4.getText().length() > 0) && !(v5.getText().length() > 0) && !(v6.getText().length() > 0)&& !(v7.getText().length() > 0)&& !(v8.getText().length() > 0)&& !(v9.getText().length() > 0) && !(v11.getText().length() > 0)&& !(v12.getText().length() > 0))
{
val3=Double.parseDouble(v3.getText().toString());
val1=MlToInch(val3);
val2=MlToCm(val3);
val4=MlToKm(val3);
val5=MlToM(val3);
val6=MlToY(val3);
val7=MlToFt(val3);
val8=MlToLg(val3);
val9=MlToLgn(val3);
val11=MlTomm(val3);
val12=MlToNm(val3);
}
else if (v4.getText().length() > 0 && !(v2.getText().length() > 0) && !(v1.getText().length() > 0) && !(v3.getText().length() > 0) && !(v5.getText().length() > 0) && !(v6.getText().length() > 0)&& !(v7.getText().length() > 0)&& !(v8.getText().length() > 0)&& !(v9.getText().length() > 0) && !(v11.getText().length() > 0)&& !(v12.getText().length() > 0))
{
val4=Double.parseDouble(v4.getText().toString());
val1=KmToInch(val4);
val2=KmToCm(val4);
val3=KmToMl(val4);
val5=KmToM(val4);
val6=KmToY(val4);
val7=KmToFt(val4);
val8=KmToLg(val4);
val9=KmToLgn(val4);
val11=KmTomm(val4);
val12=KmToNm(val4);
}
else if (v5.getText().length() > 0 && !(v2.getText().length() > 0) && !(v1.getText().length() > 0) && !(v3.getText().length() > 0) && !(v4.getText().length() > 0) && !(v6.getText().length() > 0)&& !(v7.getText().length() > 0)&& !(v8.getText().length() > 0)&& !(v9.getText().length() > 0)&& !(v11.getText().length() > 0)&& !(v12.getText().length() > 0) )
{
val5=Double.parseDouble(v5.getText().toString());
val1=MToInch(val5);
val2=MToCm(val5);
val3=MToMl(val5);
val4=MToKm(val5);
val6=MToY(val5);
val7=MToFt(val5);
val8=MToLg(val5);
val9=MToLgn(val5);
val11=MTomm(val5);
val12=MToNm(val5);
}
else if (v6.getText().length() > 0 && !(v2.getText().length() > 0) && !(v1.getText().length() > 0) && !(v3.getText().length() > 0) && !(v4.getText().length() > 0) && !(v5.getText().length() > 0)&& !(v7.getText().length() > 0)&& !(v8.getText().length() > 0)&& !(v9.getText().length() > 0)&& !(v11.getText().length() > 0)&& !(v12.getText().length() > 0) )
{
val6=Double.parseDouble(v6.getText().toString());
val1=YToInch(val6);
val5=YToM(val6);
val2=YToCm(val6);
val3=YToMl(val6);
val4=YToKm(val6);
val7=YToFt(val6);
val8=YToLg(val6);
val9=YToLgn(val6);
val11=YTomm(val6);
val12=YToNm(val6);
}
else if (v7.getText().length() > 0 && !(v2.getText().length() > 0) && !(v1.getText().length() > 0) && !(v3.getText().length() > 0) && !(v4.getText().length() > 0) && !(v5.getText().length() > 0)&& !(v6.getText().length() > 0)&& !(v8.getText().length() > 0)&& !(v9.getText().length() > 0) && !(v11.getText().length() > 0)&& !(v12.getText().length() > 0))
{
val7=Double.parseDouble(v7.getText().toString());
val1=FtToInch(val7);
val5=FtToM(val7);
val6=FtToY(val7);
val2=FtToCm(val7);
val3=FtToMl(val7);
val4=FtToKm(val7);
val8=FtToLg(val7);
val9=FtToLgn(val7);
val11=FtTomm(val7);
val12=FtToNm(val7);
}
else if (v8.getText().length() > 0 && !(v2.getText().length() > 0) && !(v1.getText().length() > 0) && !(v3.getText().length() > 0) && !(v4.getText().length() > 0) && !(v5.getText().length() > 0)&& !(v6.getText().length() > 0)&& !(v7.getText().length() > 0)&& !(v9.getText().length() > 0)&& !(v11.getText().length() > 0)&& !(v12.getText().length() > 0) )
{
val8=Double.parseDouble(v8.getText().toString());
val1=LgToInch(val8);
val5=LgToM(val8);
val6=LgToY(val8);
val2=LgToCm(val8);
val3=LgToMl(val8);
val4=LgToKm(val8);
val9=LgToLgn(val8);
val7=LgToFt(val8);
val11=LgTomm(val8);
val12=LgToNm(val8);
}
else if (v9.getText().length() > 0 && !(v2.getText().length() > 0) && !(v1.getText().length() > 0) && !(v3.getText().length() > 0) && !(v4.getText().length() > 0) && !(v5.getText().length() > 0)&& !(v6.getText().length() > 0)&& !(v7.getText().length() > 0)&& !(v8.getText().length() > 0)&& !(v11.getText().length() > 0)&& !(v12.getText().length() > 0) )
{
val9=Double.parseDouble(v9.getText().toString());
val1=LgnToInch(val9);
val5=LgnToM(val9);
val6=LgnToY(val9);
val2=LgnToCm(val9);
val3=LgnToMl(val9);
val4=LgnToKm(val9);
val7=LgnToFt(val9);
val8=LgnToLg(val9);
val11=LgnTomm(val9);
val12=LgnToNm(val9);
}
else if (v11.getText().length() > 0 && !(v2.getText().length() > 0) && !(v1.getText().length() > 0) && !(v3.getText().length() > 0) && !(v4.getText().length() > 0) && !(v5.getText().length() > 0)&& !(v6.getText().length() > 0)&& !(v7.getText().length() > 0)&& !(v8.getText().length() > 0)&& !(v9.getText().length() > 0)&& !(v12.getText().length() > 0) )
{
val11=Double.parseDouble(v11.getText().toString());
val1=mmToInch(val11);
val5=mmToM(val11);
val6=mmToY(val11);
val2=mmToCm(val11);
val3=mmToMl(val11);
val4=mmToKm(val11);
val7=mmToFt(val11);
val8=mmToLg(val11);
val9=mmToLgn(val11);
val12=mmToNm(val11);
}
else if (v12.getText().length() > 0 && !(v2.getText().length() > 0) && !(v1.getText().length() > 0) && !(v3.getText().length() > 0) && !(v4.getText().length() > 0) && !(v5.getText().length() > 0)&& !(v6.getText().length() > 0)&& !(v7.getText().length() > 0)&& !(v8.getText().length() > 0)&& !(v9.getText().length() > 0)&& !(v11.getText().length() > 0) )
{
val12=Double.parseDouble(v12.getText().toString());
val1=NmToInch(val12);
val5=NmToM(val12);
val6=NmToY(val12);
val2=NmToCm(val12);
val3=NmToMl(val12);
val4=NmToKm(val12);
val7=NmToFt(val12);
val8=NmToLg(val12);
val9=NmToLgn(val12);
val11=NmTomm(val12);
}
else
Toast.makeText(this,"please enter a value",Toast.LENGTH_LONG).show();
v1. setText(Double.toString(val1));
v2. setText(Double.toString(val2));
v3. setText(Double.toString(val3));
v4. setText(Double.toString(val4));
v5. setText(Double.toString(val5));
v6. setText(Double.toString(val6));
v7. setText(Double.toString(val7));
v8. setText(Double.toString(val8));
v9. setText(Double.toString(val9));
v11. setText(Double.toString(val11));
v12. setText(Double.toString(val12));
}
double InchToCm(double val)
{return(val*2.54);}
double InchToMl(double val)
{return(val*1.57828e-5);}
double InchToM(double val)
{return(val*0.0254);}
double InchToKm(double val)
{return(val*0.0000254);}
double InchToY(double val)
{return(val*0.027777777778 );}
double InchToFt(double val)
{return(val*0.083333333333);}
double InchToLg(double val)
{return(val*0.0000052609321912);}
double InchToLgn(double val)
{return(val*0.0000045716342693);}
double InchTomm(double val)
{return(val* 25.4 );}
double InchToNm(double val)
{return(val*1.37149e-5);}
double CmToInch(double val)
{return(val/2.54);}
double CmToMl(double val)
{return(val*6.21371e-6);}
double CmToFt(double val)
{return(val*0.03280839895);}
double CmToM(double val)
{return(val*0.01);}
double CmToY(double val)
{return(val*0.010936132983);}
double CmToLg(double val)
{return(val* 0.0000020712331461);}
double CmToLgn(double val)
{return(val* 0.0000017998560115);}
double CmToKm(double val)
{return(val*1.0e-5);}
double CmTomm(double val)
{return(val*10);}
double CmToNm(double val)
{return(val*5.3996e-6);}
double MlToCm(double val)
{return(val*160934);}
double MlToInch(double val)
{return(val*63360);}
double MlToLg(double val)
{return(val*0.33333266363);}
double MlToY(double val)
{return(val*1760);}
double MlToKm(double val)
{return(val*1.60934);}
double MlToLgn(double val)
{return(val*0.2896587473);}
double MlToFt(double val)
{return(val*5280);}
double MlToM(double val)
{return(val*1609.344);}
double MlTomm(double val)
{return(val*1.609e+6);}
double MlToNm(double val)
{return(val*0.868976);}
double KmToCm(double val)
{return(val*100000);}
double KmToInch(double val)
{return(val*39370.1);}
double KmToMl(double val)
{return(val*0.621371);}
double KmToFt(double val)
{return(val*3280.839895);}
double KmToY(double val)
{return(val*1093.6132983);}
double KmToM(double val)
{return(val*1000);}
double KmToLg(double val)
{return(val*0.20712331461 );}
double KmToLgn(double val)
{return(val*0.17998560115);}
double KmTomm(double val)
{return(val*1e+6);}
double KmToNm(double val)
{return(val*0.539957);}
double MToCm(double val)
{return(val*100);}
double MToInch(double val)
{return(val*39.37007874);}
double MToMl(double val)
{return(val*0.00062137119224);}
double MToFt(double val)
{return(val*3.280839895);}
double MToY(double val)
{return(val*1.0936132983);}
double MToLg(double val)
{return(val*0.00020712331461 );}
double MToLgn(double val)
{return(val* 0.00017998560115);}
double MToKm(double val)
{return(val* 0.001);}
double MTomm(double val)
{return(val*1000);}
double MToNm(double val)
{return(val*0.000539957);}
double YToCm(double val)
{return(val*91.44);}
double YToInch(double val)
{return(val*36);}
double YToMl(double val)
{return(val*0.00056818181818);}
double YToFt(double val)
{return(val*3);}
double YToY(double val)
{return(val*1.0936132983);}
double YToLg(double val)
{return(val* 0.00018939355888 );}
double YToLgn(double val)
{return(val* 0.00016457883369 );}
double YToKm(double val)
{return(val*0.0009144);}
double YToM(double val)
{return(val*0.9144 );}
double YTomm(double val)
{return(val*914.4 );}
double YToNm(double val)
{return(val*0.000493737 );}
double FtToCm(double val)
{return(val*30.48);}
double FtToInch(double val)
{return(val*12);}
double FtToMl(double val)
{return(val*0.00018939393939);}
double FtToY(double val)
{return(val* 0.33333333333);}
double FtToLg(double val)
{return(val* 0.000063131186294 );}
double FtToLgn(double val)
{return(val*0.000054859611231 );}
double FtToKm(double val)
{return(val* 0.0003048);}
double FtToM(double val)
{return(val*0.3048 );}
double FtTomm(double val)
{return(val*304.8 );}
double FtToNm(double val)
{return(val*0.000164579 );}
double LgToCm(double val)
{return(val*482804.17);}
double LgToInch(double val)
{return(val*190080.38189);}
double LgToMl(double val)
{return(val*3.0000060273);}
double LgToY(double val)
{return(val* 5280.010608);}
double LgToLgn(double val)
{return(val*0.86897798776 );}
double LgToKm(double val)
{return(val*4.8280417);}
double LgToM(double val)
{return(val*4828.0417 );}
double LgToFt(double val)
{return(val* 15840.031824);}
double LgTomm(double val)
{return(val* 4828041.7);}
double LgToNm(double val)
{return(val* 3);}
double LgnToCm(double val)
{return(val*555600);}
double LgnToInch(double val)
{return(val*218740.15748);}
double LgnToMl(double val)
{return(val*3.4523383441);}
double LgnToY(double val)
{return(val* 6076.1154856 );}
double LgnToLgn(double val)
{return(val*0.86897798776 );}
double LgnToKm(double val)
{return(val*5.556 );}
double LgnToM(double val)
{return(val*5556 );}
double LgnToFt(double val)
{return(val*18228.346457);}
double LgnToLg(double val)
{return(val*1.150777136 );}
double LgnTomm(double val)
{return(val*5.5560e+6 );}
double LgnToNm(double val)
{return(val*3 );}
double mmToCm(double val)
{return(val*0.1);}
double mmToInch(double val)
{return(val*0.03937007874);}
double mmToMl(double val)
{return(val*6.2137119224e-7);}
double mmToY(double val)
{return(val* 0.0010936132983);}
double mmToLgn(double val)
{return(val*1.7998560115e-7 );}
double mmToKm(double val)
{return(val*0.000001);}
double mmToM(double val)
{return(val*0.001 );}
double mmToFt(double val)
{return(val* 0.003280839895 );}
double mmToLg(double val)
{return(val*2.0712331461e-7 );}
double mmToNm(double val)
{return(val*5.3996e-7 );}
double NmToCm(double val)
{return(val*185200);}
double NmToInch(double val)
{return(val*72913.4);}
double NmToMl(double val)
{return(val*1.15078);}
double NmToY(double val)
{return(val*2025.37);}
double NmToLgn(double val)
{return(val*0.333333333 );}
double NmToKm(double val)
{return(val*1.852);}
double NmToM(double val)
{return(val*1852 );}
double NmToFt(double val)
{return(val*6076.12 );}
double NmToLg(double val)
{return(val*0.333333333 );}
double NmTomm(double val)
{return(val*1.852e+6);}
void reset()
{
v1.setText("");
v2.setText("");
v3.setText("");
v4.setText("");
v5.setText("");
v6.setText("");
v7.setText("");
v8.setText("");
v9.setText("");
v12.setText("");
v11.setText("");
}
} `
备选方案
将android键盘上的enter按钮更改为Go或Search按钮
例如,谷歌搜索
xml代码
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:imeOptions="actionSearch"
android:inputType="text" >
您可以使用文本更改事件
txtCM = (TextView) findViewById(R.id.txtCM);
txtMM = (TextView) findViewById(R.id.txtMM);
txtCM.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
Float cm = Float.parseFloat(txtCM.getText().toString());
Float mm = cm / 10;
txtMM.setText("" + mm);
}
@Override
public void afterTextChanged(Editable s) {
}
});
并用其中一种方法编写代码。上面的示例。将厘米转换为毫米。请删除此处的大部分代码。仔细想想哪些代码与您的问题真正相关。您不必显示所有12个
EditText
s和周围的所有代码。谢谢,它起作用了,但是如果我也要为EditText2执行该操作呢..我对v2尝试了相同的方法,但在setText行上出现堆栈溢出错误。请检查EditText名称,以及您传递给它的值。我在5-6个编辑文本中使用相同的代码。如果不起作用,创建新问题并在此处发布链接
txtCM = (TextView) findViewById(R.id.txtCM);
txtMM = (TextView) findViewById(R.id.txtMM);
txtCM.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
Float cm = Float.parseFloat(txtCM.getText().toString());
Float mm = cm / 10;
txtMM.setText("" + mm);
}
@Override
public void afterTextChanged(Editable s) {
}
});