Java 在一个EditText中输入的数据必须同时显示在其他EditText中
比如说 empty是第一个编辑文本,total_empty是另一个编辑文本 如果我在empty edittext中键入1意味着它必须在total_empty edittext上同时显示为1 之后,我有一个名为new的EditText。我将在EditText new中给3作为值 之后,我必须添加上述三个EditText值(1+2+3),并在另一个名为fill的EditText中显示总和 最后,我有另一个名为total_fill的editText,我也必须在上面的“fill”editText中显示相同的值 我的代码如下 编辑文本Java 在一个EditText中输入的数据必须同时显示在其他EditText中,java,android,Java,Android,比如说 empty是第一个编辑文本,total_empty是另一个编辑文本 如果我在empty edittext中键入1意味着它必须在total_empty edittext上同时显示为1 之后,我有一个名为new的EditText。我将在EditText new中给3作为值 之后,我必须添加上述三个EditText值(1+2+3),并在另一个名为fill的EditText中显示总和 最后,我有另一个名为total_fill的editText,我也必须在上面的“fill”editText中显示相
empty_cyl_recvd,new_cyl_recvd,filled_cyl_unload,dmg_cyl_recvd,total_filled_cyl,total_dmg_cyl,total_em
pty_cyl;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
empty_cyl_recvd = (EditText) findViewById(R.id.empty_cyl_recvd);
empty_cyl_recvd.setInputType(InputType.TYPE_CLASS_NUMBER);
empty_cyl_recvd.setKeyListener(DigitsKeyListener.getInstance("0123456789"));
new_cyl_recvd = (EditText) findViewById(R.id.new_cyl_recvd);
new_cyl_recvd.setInputType(InputType.TYPE_CLASS_NUMBER);
new_cyl_recvd.setKeyListener(DigitsKeyListener.getInstance("0123456789"));
filled_cyl_unload = (EditText) findViewById(R.id.filled_cyl_unload);
filled_cyl_unload.setInputType(InputType.TYPE_CLASS_NUMBER);
filled_cyl_unload.setKeyListener(DigitsKeyListener.getInstance("0123456789"));
dmg_cyl_recvd = (EditText) findViewById(R.id.dmg_cyl_recvd);
dmg_cyl_recvd.setInputType(InputType.TYPE_CLASS_NUMBER);
dmg_cyl_recvd.setKeyListener(DigitsKeyListener.getInstance("0123456789"));
total_dmg_cyl=(EditText)findViewById(R.id.sdff);
total_empty_cyl=(EditText)findViewById(R.id.wertyu);
total_filled_cyl=(EditText)findViewById(R.id.gfhgftg);
empty_cyl_recvd.addTextChangedListener(new TextWatcher()
{
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1,
int arg2, int arg3) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
int a=Integer.parseInt(empty_cyl_recvd.getText().toString());
int b=Integer.parseInt(Util.EMPTY_LIST.get(0).toString());
int c=a+b;
total_empty_cyl.setText(""+c);
}});
filled_cyl_unload.addTextChangedListener(new TextWatcher()
{
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
int a=Integer.parseInt(filled_cyl_unload.getText().toString());
int b=Integer.parseInt(Util.FILL_LIST.get(0).toString());
int c=a+b;
total_filled_cyl.setText(""+c);
}
});
dmg_cyl_recvd.addTextChangedListener(new TextWatcher(){
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
int a=Integer.parseInt(dmg_cyl_recvd.getText().toString());
int b=Integer.parseInt(Util.DAMAGE_LIST.get(0).toString());
int c=a+b;
total_dmg_cyl.setText(""+c);
}
});
//试试这个
**activity_main.xml**
**主要活动**
包com.example.MyTest;
导入android.app.Activity;
导入android.os.Bundle;
导入android.text.Editable;
导入android.text.TextWatcher;
导入android.widget.EditText;
公共类MainActivity扩展了活动{
私人编辑文本优先;
私有文本为空;
私有编辑文本总数为空;
私人编辑文本填充;
私人编辑文本总填充;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
first=(EditText)findViewById(R.id.first);
empty=(EditText)findViewById(R.id.empty);
total_empty=(EditText)findViewById(R.id.total_empty);
fill=(EditText)findViewById(R.id.fill);
总填充=(EditText)findViewById(R.id.total\u fill);
addTextChangedListener(新的TextWatcher(){
@凌驾
更改前的公共无效(CharSequence CharSequence,int i,int i2,int i3){
}
@凌驾
public void onTextChanged(CharSequence CharSequence,int i,int i2,int i3){
}
@凌驾
public void PostTextChanged(可编辑){
如果(可编辑的.toString().trim().length()>0){
if(empty.getText().toString().trim().length()>0){
total_empty.setText(String.valueOf(((int)(Double.valueOf(empty.getText().toString().trim())+Double.valueOf(editable.toString().trim()));
}否则{
total_empty.setText(String.valueOf(editable.toString().trim());
}
fill.setText(total_empty.getText().toString());
total_fill.setText(total_empty.getText().toString());
}否则{
if(empty.getText().toString().trim().length()>0){
total_empty.setText(empty.getText().toString());
fill.setText(empty.getText().toString());
total_fill.setText(empty.getText().toString());
}否则{
总计为空。setText(“”);
填充.setText(“”);
总填充量。setText(“”);
}
}
}
});
empty.addTextChangedListener(新的TextWatcher(){
@凌驾
更改前的公共无效(CharSequence CharSequence,int i,int i2,int i3){
}
@凌驾
public void onTextChanged(CharSequence CharSequence,int i,int i2,int i3){
}
@凌驾
public void PostTextChanged(可编辑){
如果(可编辑的.toString().trim().length()>0){
if(first.getText().toString().trim().length()>0){
total_empty.setText(String.valueOf(((int)(Double.valueOf(editable.toString().trim())+Double.valueOf(first.getText().toString().trim()));
}否则{
total_empty.setText(String.valueOf(editable.toString().trim());
}
fill.setText(total_empty.getText().toString());
total_fill.setText(total_empty.getText().toString());
}否则{
if(first.getText().toString().trim().length()>0){
total_empty.setText(first.getText().toString());
fill.setText(first.getText().toString());
total_fill.setText(first.getText().toString());
}否则{
总计为空。setText(“”);
填充.setText(“”);
总填充量。setText(“”);
}
}
}
});
}
}
// try this
**activity_main.xml**
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:orientation="vertical"
android:gravity="center"
android:layout_height="match_parent">
<EditText
android:id="@+id/first"
android:layout_width="match_parent"
android:inputType="numberDecimal"
android:hint="new"
android:layout_height="wrap_content"/>
<EditText
android:id="@+id/empty"
android:layout_width="match_parent"
android:inputType="numberDecimal"
android:hint="empty"
android:layout_height="wrap_content"/>
<EditText
android:id="@+id/total_empty"
android:layout_width="match_parent"
android:inputType="numberDecimal"
android:layout_height="wrap_content"
android:hint="total empty"
android:editable="false"/>
<EditText
android:id="@+id/fill"
android:layout_width="match_parent"
android:inputType="numberDecimal"
android:layout_height="wrap_content"
android:hint="fill"
android:editable="false"/>
<EditText
android:id="@+id/total_fill"
android:layout_width="match_parent"
android:inputType="numberDecimal"
android:hint="total fill"
android:layout_height="wrap_content"
android:editable="false"/>
</LinearLayout>
**MainActivity**
package com.example.MyTest;
import android.app.Activity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;
public class MainActivity extends Activity {
private EditText first;
private EditText empty;
private EditText total_empty;
private EditText fill;
private EditText total_fill;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
first = (EditText) findViewById(R.id.first);
empty = (EditText) findViewById(R.id.empty);
total_empty = (EditText) findViewById(R.id.total_empty);
fill = (EditText) findViewById(R.id.fill);
total_fill = (EditText) findViewById(R.id.total_fill);
first.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) {
}
@Override
public void afterTextChanged(Editable editable) {
if(editable.toString().trim().length()>0){
if(empty.getText().toString().trim().length()>0){
total_empty.setText(String.valueOf(((int)(Double.valueOf(empty.getText().toString().trim())+Double.valueOf(editable.toString().trim())))));
}else{
total_empty.setText(String.valueOf(editable.toString().trim()));
}
fill.setText(total_empty.getText().toString());
total_fill.setText(total_empty.getText().toString());
}else{
if(empty.getText().toString().trim().length()>0){
total_empty.setText(empty.getText().toString());
fill.setText(empty.getText().toString());
total_fill.setText(empty.getText().toString());
}else{
total_empty.setText("");
fill.setText("");
total_fill.setText("");
}
}
}
});
empty.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) {
}
@Override
public void afterTextChanged(Editable editable) {
if(editable.toString().trim().length()>0){
if(first.getText().toString().trim().length()>0){
total_empty.setText(String.valueOf(((int)(Double.valueOf(editable.toString().trim())+Double.valueOf(first.getText().toString().trim())))));
}else{
total_empty.setText(String.valueOf(editable.toString().trim()));
}
fill.setText(total_empty.getText().toString());
total_fill.setText(total_empty.getText().toString());
}else{
if(first.getText().toString().trim().length()>0){
total_empty.setText(first.getText().toString());
fill.setText(first.getText().toString());
total_fill.setText(first.getText().toString());
}else{
total_empty.setText("");
fill.setText("");
total_fill.setText("");
}
}
}
});
}
}