使用editText中的内容分配字符串变量

时间:2013-10-11 13:54:21

标签: android android-edittext

我有EditText用户输入名称,我希望将此名称分配给字符串变量供以后使用。

EditText et=(EditText)findViewById(R.id.editText1);
        final String value=et.getText().toString();
        Button b=(Button)findViewById(R.id.button1);
        b.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                TextView tv=(TextView)findViewById(R.id.textView2);
                tv.setText(value);
            }

        });

这是我正在使用的代码。我在editText中输入了一些文本,当我单击按钮时,textView应该在edittext中显示内容。但是当我单击按钮时,textview变得不可见,即它具有null值。

3 个答案:

答案 0 :(得分:2)

更改onClick中的字符串值初始化,目前您在获得editText引用后立即初始化它...因此它不会更新为您在运行时输入的文本

新代码

final EditText et=(EditText)findViewById(R.id.editText1);
        Button b=(Button)findViewById(R.id.button1);
        b.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View v) {
                String value=et.getText().toString();
                TextView tv=(TextView)findViewById(R.id.textView2);
                tv.setText(value);
            }

        });

答案 1 :(得分:0)

尝试这样的事情

final EditText et=(EditText)findViewById(R.id.editText1);
final EditText tv=(EditText)findViewById(R.id.editText2);
Button b=(Button)findViewById(R.id.button1);
b.setOnClickListener(new OnClickListener(){

    @Override
    public void onClick(View v) {
        tv.setText(et.getText().toString());
    }

});

答案 2 :(得分:0)

试试这个

String value;

OnCreate(){

EditText et=(EditText)findViewById(R.id.editText1);
TextView tv=(TextView)findViewById(R.id.textView2);
Button b=(Button)findViewById(R.id.button1);

        b.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                value=et.getText().toString();
                tv.setText(value);
            }

        });


}