Java EditText.getText.toString()返回空字符串

Java EditText.getText.toString()返回空字符串,java,android,android-studio,android-edittext,android-toast,Java,Android,Android Studio,Android Edittext,Android Toast,我试图从EditText恢复文本,但当我Toast字符串时,我得到一个空字符串 代码如下: view =inflater.inflate(R.layout.fragment_home, container, false); EditText id=view.findViewById(R.id.busID); busId=id.getText().toString(); btn.setOnClickListener(new View.OnClickListener() { @Overri

我试图从
EditText
恢复文本,但当我
Toast
字符串时,我得到一个空字符串

代码如下:

view =inflater.inflate(R.layout.fragment_home, container, false);
EditText id=view.findViewById(R.id.busID);
busId=id.getText().toString();
btn.setOnClickListener(new View.OnClickListener() {
     @Override
     public void onClick(final View view) {
          Toast.makeText(getContext(),busId,Toast.LENGTH_LONG).show();
     }
});
这是截图


请帮帮我。我不知道它为什么返回空字符串

您过早地从
编辑文本中提取
字符串

按如下方式更改代码:

btn.setOnClickListener(new View.OnClickListener() {
     @Override
     public void onClick(final View view) {
          busId=id.getText().toString();
          Toast.makeText(getContext(),busId,Toast.LENGTH_LONG).show();
     }
});

回答得不错,但对提问者有一点建议,我建议使用有意义的变量名,因此
EditText id=view.findViewById(R.id.busID)类似于总线编辑文本之类的东西。如果它是一个局部变量,则可以找到它,但在大型项目中,这可能会导致问题,尤其是当它被声明为全局变量时。