2015-09-25 2 views
0

Как закодировать в 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+""); 
} 

ответ

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) { 

        } 
       }); 
+0

Уважаемый Mr.Colon GIllespie. Не могли бы вы дать примерный код для прослушивателей смены текста и прослушивателей элементов. Я реализую коды abouve, но получаю много ошибок. Я не уверен, правильно ли я делаю это –

Смежные вопросы