"实时"在转换程序中回答

时间:2015-09-25 02:53:34

标签: java android

如果用户使用键盘输入一些值,并在简单的转换程序中输出活动中的计算按钮,如何在java中编码显示在屏幕上的实时输出?我已经给出了下面的代码。因为它需要一个输入值和" FROM"和" TO"转换值并显示在显示屏上,按下"计算"按钮

现在我要消除"计算"按钮,并在用户输入数字后立即显示答案

我的代码如下。请告知我们所需的任何其他信息

package sujaynambiar.textilecalculation;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.List;

public class LengthConverter extends AppCompatActivity {

private Spinner spinner11, spinner21;
private EditText from;
private TextView to;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.lenght_converter);

Button btnSubmit = (Button) findViewById(R.id.btnSubmit1);
from = (EditText) findViewById(R.id.InputEditText1);
to = (TextView) findViewById(R.id.OutputTextView1);
spinner11 = (Spinner) findViewById(R.id.spinner11);
List<String> list1 = new ArrayList<String>();
list1.add("Kilometer");
list1.add("Meter");
list1.add("Centimeter");
list1.add("Millimeter");
list1.add("Feet");
list1.add("Yard");
list1.add("Inch");
list1.add("Mile");

ArrayAdapter<String> dataAdapter1 = new ArrayAdapter<String>(this,
        android.R.layout.simple_spinner_item, list1);
          dataAdapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner11.setAdapter(dataAdapter1);
spinner21 = (Spinner) findViewById(R.id.spinner21);
List<String> list2 = new ArrayList<String>();
list2.add("Kilometer");
list2.add("Meter");
list2.add("Centimeter");
list2.add("Millimeter");
list2.add("Feet");
list2.add("Yard");
list2.add("Inch");
list2.add("Mile");

ArrayAdapter<String> dataAdapter2 = new ArrayAdapter<String>(this,
        android.R.layout.simple_spinner_item, list2);
dataAdapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner21.setAdapter(dataAdapter2);
}

public void onClick(View v)
{

int index1 = spinner11.getSelectedItemPosition();
int index2 = spinner21.getSelectedItemPosition();
double value = 0;
if (from.getText().toString().isEmpty())
    Toast.makeText(getApplicationContext(), getResources().getString(R.string.toastmessage1),
            Toast.LENGTH_LONG).show();
else {
    value = Double.parseDouble(from.getText().toString());
}
//From Kilometer
if (index1 == 0 && index2 == 0 )//N

{
    double result = value*1;
    to.setText(result+"");
}

1 个答案:

答案 0 :(得分:2)

您正在寻找文本更改侦听器。

from.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) {
                calculateNewResult(s);
            }

            @Override
            public void afterTextChanged(Editable s) {

            }
        });

您可能还想在微调器上使用项目选择侦听器。

mySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                    @Override
                    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                        updateTheCalculation();
                    }

                    @Override
                    public void onNothingSelected(AdapterView<?> parent) {

                    }
                });