2 myc 100 myc_100 于 2013.05.02 13:33 提问

从 EditText 中不能获取数据

我不能从 EditText fr1中获取数据。然后在fr1中输入一些文本,点击按钮 btn 但是没有任何反应。TextView 的结果还是空的。为什么是空的呢?

public class MainActivity extends Activity{
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        EditText fr1 = (EditText) findViewById(R.id.fraction1);
        final TextView result = (TextView) findViewById(R.id.result);
        Button btn = (Button) findViewById(R.id.getresult);

        final String s = fr1.getText().toString();

        btn.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                // TODO Auto-generated method stub
                result.setText(s);
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}

3个回答

jnhoodlum
jnhoodlum   2013.05.02 14:15
已采纳
btn.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        result.setText(getStrFromEditText());
    }
});

private String getStrFromEditText() {
    return fr1.getText().toString().trim();
}
cj6585256
cj6585256   2013.05.07 16:41

final String s = fr1.getText().toString();已经把值给取出来了,所以即使EditText有值,你点击按钮获取的也是null

clcurie_11
clcurie_11   2013.05.02 17:49

当点击按钮时你需要检索文本

把代码 String s = fr1.getText().toString();移动到按钮的 OnClickListener 方法中。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!