Android 如何在EditText字段中设置值?

Android 如何在EditText字段中设置值?,android,Android,我有三个EditText,我想在前两个EditText字段中包含字符串,并在第三个EditText字段中显示。在第二个字段中输入字符串后,它 在第三个编辑文本中自动合并和设置 EditText text1 = (EditText) findViewById(R.id.text1); mtext1=text1.getText.toString(); EditText text2 = (EditText) findViewById(R.id.text2); mtext2 = text2.getTe

我有三个EditText,我想在前两个EditText字段中包含字符串,并在第三个EditText字段中显示。在第二个字段中输入字符串后,它 在第三个编辑文本中自动合并和设置

EditText text1 = (EditText) findViewById(R.id.text1);
mtext1=text1.getText.toString();

EditText text2 = (EditText) findViewById(R.id.text2);
mtext2 = text2.getText.toString();


mtext3=mtext1.concat().mtext2;
Edit text3 = (EditText) findViewById(R.id.text3);
text3 = setText(mtext3.toString());
我写了上面的代码,但我的结果并没有出现在第三版文本中。
请给出我在程序中实现的解决方案

如果您想检测两个EditText字段何时更改,则需要在每个字段上使用。在onCreate()方法中可以包含以下内容:


这应该行得通。确保不要在TextChanged侦听器中编辑text2,因为这样会再次调用PostTextChanged

final EditText text1 = (EditText) findViewById(R.id.text1);
final EditText text2 = (EditText) findViewById(R.id.text2);
final EditText text3 = (EditText) findViewById(R.id.text3);

text2.addTextChangedListener(new TextWatcher() {
    void afterTextChanged(Editable s) {
        text3.setText(text1.getText().toString() + text2.getText().toString());
    };
});

我也尝试了此方法,但无法获取第三个EditText字段中的值。是否实现了TextWatcher add use addTextChangedListener()?请在您的问题中包含您的活动代码。是否需要添加OnClickListner方法?我没有实现任何东西。我是Android新手。所以我不知道。请给出任何我了解的网站。我的活动课程如下below@Tiru好。如果答案是您需要的,您应该接受。@Robby,为什么EditText变量声明为final?在匿名内部类(TextWatcher)中使用局部变量时,必须声明为final。
final EditText text1 = (EditText) findViewById(R.id.text1);
final EditText text2 = (EditText) findViewById(R.id.text2);
final EditText text3 = (EditText) findViewById(R.id.text3);

text2.addTextChangedListener(new TextWatcher() {
    void afterTextChanged(Editable s) {
        text3.setText(text1.getText().toString() + text2.getText().toString());
    };
});
package com.tiru;
import android.app.Activity;
import android.os.Bundle;
import android.widget.EditText;

public class SetEditText extends Activity {

    private String mtext1 = null;
    private String mtext2 = null;
    private String mtext3 = null;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        EditText text1 = (EditText) findViewById(R.id.text1);
        EditText text2 = (EditText) findViewById(R.id.text2);
        mtext1 = text1.getText();
        mtext2 = text2.getText();
        mtext3 = mtext1 + mtext2;
        EditText text3 = (EditText) findViewById(R.id.text3);
        text3.setText(mtext3);
    }
}
EditText inputWeight,inputHeight,outputResult;
Button calculate;
float num1,num2,out;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_bmi);

    inputWeight = (EditText) findViewById(R.id.weight);
    inputHeight = (EditText) findViewById(R.id.height);
    outputResult = (EditText) findViewById(R.id.result);
    calculate = (Button) findViewById(R.id.cal);


    calculate.setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View v)
        {
            num1 = Float.parseFloat(inputWeight.getText().toString());
            num2 = Float.parseFloat(inputHeight.getText().toString());
            out=num1/(num2*num2);
            calculate.setText(" "+out);
        }
    });}