[英]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.