EditText获取toString

时间:2010-10-27 08:00:52

标签: java android tostring android-edittext

这是我的代码,但我无法使用用户输入的值填充我的字符串。

我从其他网站尝试了很多解决方案,但它不起作用。

package app.android.Mel

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class RedFlashlightActivity extends Activity {

private EditText text;
private TextView myRecord;
private Button myButton;

/** Called when the activity is first created. */
@Override

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

    text = (EditText) findViewById(R.id.txtName);
    myButton = (Button) this.findViewById(R.id.myButton);
    myRecord = (TextView) findViewById(R.id.myRecord);
    final String rec = text.getText().toString();

    myButton.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            myRecord.setText(rec);
            Toast.makeText(RedFlashlightActivity.this,rec, Toast.LENGTH_SHORT).show();
        }

    });
}
}

3 个答案:

答案 0 :(得分:4)

关键是rec在活动创建时创建一次,并且在(最终)之后不会改变。 只需替换

myRecord.setText(rec);

myRecord.setText(text.getText().toString());

答案 1 :(得分:0)

    myButton.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        String rec = text.getText().toString();
        myRecord.setText(rec);
        Toast.makeText(RedFlashlightActivity.this,rec, Toast.LENGTH_SHORT).show();
    }
});

答案 2 :(得分:0)

rec = text.getText().toString()移动到OnClickListener事件处理程序类中。然后它应该工作。否则它将采用空值,因为您使用的是String rec,它是在Activity创建阶段构建的。