1

我有一个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价值。

4

3 回答 3

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);
            }

        });
于 2013-10-11T13:58:23.447 回答
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());
    }

});
于 2013-10-11T13:58:12.257 回答
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);
            }

        });


}
于 2013-10-11T13:59:11.873 回答