我正在尝试创建一个包含EditText和Button的简单Android应用程序。用户将输入他的数据,此应用程序将向他显示数据为Toast。
现在我遇到的问题是,每当用户按下按钮时,它只显示一个空白的吐司。这是我的代码
EditText et;
String data;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bsave=(Button) findViewById(R.id.bsave);
et=(EditText) findViewById(R.id.editText1);
data=et.getText().toString();
bsave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Log.v("EditText",et.getText().toString());
Intent in=new Intent(MainActivity.this,SecondAct.class);
in.putExtra("DATA", data);
Toast.makeText(MainActivity.this, data, Toast.LENGTH_SHORT).show();
}
});
}
请帮帮我。在此先感谢!!!!
答案 0 :(得分:3)
你在oncreate()中调用gettext(),当编辑框中根本没有文本时..所以你的onClick()里面的日志会显示数据但是toast永远不会显示这个代码的任何东西,因为变量数据是“ “..
答案 1 :(得分:2)
你应该这样做
bsave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
data=et.getText().toString();
Toast.makeText(MainActivity.this,data, Toast.LENGTH_SHORT).show();
}
});
按钮onClick(...)
中的
答案 2 :(得分:1)
如上所示,您需要将数据保存在Click侦听器上的Button内的EditText中。由于您的代码现在只要创建编辑文本,文本就会保存到数据变量中,但您希望在单击按钮后立即设置该文本。