Java 在android中,如何在点击按钮时更改文本?

Java 在android中,如何在点击按钮时更改文本?,java,android,Java,Android,我需要通过从编辑文本中获取值来设置按钮的文本,当单击按钮时,它必须将其文本更改为在编辑文本中指定的文本 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final Button btn=(Button)findViewById(R.id.bu

我需要通过从编辑文本中获取值来设置按钮的文本,当单击按钮时,它必须将其文本更改为在编辑文本中指定的文本

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


    final Button btn=(Button)findViewById(R.id.button);
    assert btn != null;
    btn.setOnClickListener(
            new View.OnClickListener(){

                public void onClick(View v)
                {
                    TextView txt=(TextView)findViewById(R.id.editText);
                    btn.setText((CharSequence) txt);


                }
            }

    );
}

您只需定义
EditText
变量而不是
TextView
,调用EditText的
getText
方法,然后调用
toString
方法如下:

final Button btn=(Button)findViewById(R.id.button);
assert btn != null;
btn.setOnClickListener(
        new View.OnClickListener(){

            public void onClick(View v)
            {
                EditText txt = (EditText)findViewById(R.id.editText);
                btn.setText(txt.getText().toString());
            }
        }

);

在全球范围内声明您的观点

Button btn;
EditText txt;
在onCreate方法中设置您的id

btn=(Button)findViewById(R.id.button);
txt=(EditText)findViewById(R.id.editText);
让你的听众保持如下状态

    btn.setOnClickListener(
            new View.OnClickListener(){

                public void onClick(View v)
                {
                 final String newText=txt.getText().toString().trim();
                 if(newText.length()>0){
                    btn.setText(newText);
                 }


                }
            }

    );
你说的这个“文本”是什么格式的?标签或文本字段??如果有助于解决问题,请。
        final Button btn = (Button)findViewById(R.id.button);
        if (btn != null) {
            btn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    EditText et = (EditText)findViewById(R.id.editText);
                    if (et != null){
                        Button btn = (Button)view;
                        btn.setText(et.getText());
                    }
                }               
            });
        }