我的按钮完成工作后会发生什么? (机器人)

时间:2013-05-23 16:06:26

标签: java android

所以我创建了一个将里程转换为公里的基本转换器应用程序。在应用程序中,用户可以在里程编辑文本或千米编辑文本上输入值。输入一个值并按下“转换”按钮后,该值将被转换并相应显示。我真正想要做的是删除转换按钮,以便在用户同时输入输入时完成转换。我做了一些研究,发现了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;
}

}

2 个答案:

答案 0 :(得分:0)

我认为您可以使用TextWatcher进行一些动态操作。

阅读其他答案以了解更多信息。 :)

need EditText with readonly indent

答案 1 :(得分:0)

您可以发布用于重置值的代码...或者您可以尝试:

EditText edit;
edit.setText(null);