所以我创建了一个将里程转换为公里的基本转换器应用程序。在应用程序中,用户可以在里程编辑文本或千米编辑文本上输入值。输入一个值并按下“转换”按钮后,该值将被转换并相应显示。我真正想要做的是删除转换按钮,以便在用户同时输入输入时完成转换。我做了一些研究,发现了textlistener,但在实现它时失败了。
所以我想保留按钮,然后走另一条路。我想要做的是,例如,如果用户首先在里程编辑文本上输入值并将其转换为公里。然后,当用户按下公里编辑文本时,我希望英里和公里上的编辑文本都是空白的,这样用户就不必保持擦除值。
我想了很多。我可以做到,但我对于放置代码的位置感到困惑,因为我只创建了一个方法,即convertLength()。
我很困惑,所以任何帮助都会非常感激。 :)
package com.abhinavbhatta.converter;
import android.os.Bundle;
public class ConvertLength extends Activity {
Button clength;
EditText mi;
EditText km;
double milesValue;
double kmValue;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_convert_length);
}
public void convertLength(View view){
clength = (Button) findViewById(R.id.clength);
mi = (EditText) findViewById(R.id.et_mi);
km = (EditText) findViewById(R.id.et_km);
Intent intentLength = getIntent();
if (mi.isFocused()){
milesValue = Double.parseDouble(mi.getText().toString());
kmValue = milesValue * 1.6;
km.setText( String.format( "%.2f", kmValue ) );
}
if (km.isFocused()){
kmValue = Double.parseDouble(km.getText().toString());
milesValue = kmValue/(1.6);
mi.setText( String.format( "%.2f", milesValue ) );
}
}
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.convert_length, menu);
return true;
}
}
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以发布用于重置值的代码...或者您可以尝试:
EditText edit;
edit.setText(null);