[英]Getting a string from EditText
我试图获取用户在edittext视图中编写的文本并将其存储在String值中,然后在我创建的包含两个String对象的类中设置此String值,但是当我运行代码时,它给了我一个提示。空指针异常的错误,因为“ WrittenSubj”和“ WrittenDeta”等于空,我该如何解决这个问题?
public class TaskDetails extends AppCompatActivity {
EditText WrittenSubj;
EditText WrittenDeta;
Button SaveBut;
TheTask theTask;
private Database database;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_task_details);
WrittenSubj=(EditText)findViewById(R.id.thesubject);
WrittenDeta=(EditText)findViewById(R.id.theDetails);
SaveBut=(Button)findViewById(R.id.SaveButton);
String subj=WrittenSubj.getText().toString();
String deta=WrittenDeta.getText().toString();
theTask.setSubject(subj);
theTask.setDetails(deta);
}
我认为TheTask是您的Beam类,并且您尚未初始化它。
初始化它。
theTask = new TheTask();
并使用
theTask.setSubject(subj);
theTask.setDetails(deta);
您必须先初始化TheTask类,然后再使用如下所示的类
TheTask theTask = new TheTask();
然后使用如下的Task对象
theTask.setSubject(subj);
theTask.setDetails(deta);
问题到来是因为您正在初始化edittext,并在方法onCreate()
和OnCreate()
获取其文本getText()
是创建活动时调用的方法,因此在创建活动时,您的编辑文本显然将具有null / empty值。 因此,在实际输入文本之后,您必须在任何事件单击或按钮单击时调用edittext.getText()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.