我正在尝试将从EditText获取的值分配给双变量。
我做过这样的事情: -
public class PersonalInfo extends Activity implements OnClickListener
{
private double height=0.0d, weight=0.0d;
private CheckBox cbCheck;
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_personal_info);
try
{
height = Double.parseDouble(etHeight.getText().toString().trim());
weight = Double.parseDouble(etWeight.getText().toString().trim());
}
catch(NumberFormatException e)
{
e.printStackTrace();
}
cbCheck.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//is chkIos checked?
if (((CheckBox) v).isChecked()) {
Toast.makeText(PersonalInfo.this,height+weight), Toast.LENGTH_LONG).show();
}
}
});
}
}
}
当我调试程序时,我完全得到Double.parseDouble(etHeight.getText().toString().trim());
的值。但不知何故,当我检查身高和体重的值时,它们仍为空。
感谢您的帮助,
答案 0 :(得分:0)
您将在onCreate
的早期从editText获取文字。当活动在onResume
中恢复时,用户交互就会开始。因此,当用户输入一些值时,您需要从EditText
获取文本。你也可以做一些检查
if(!TextUtils.isEmpty(etHeight.getText().toString())
{
// do something
}
所以在public void onClick(View v) {