这是我的java片段代码
public class A_AssignExam extends android.support.v4.app.Fragment {
EditText username;
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
username=(EditText)view.findViewById(R.id.usernameeditassignexam);
Log.d("Username------>", ""+username);
}
我收到以下错误消息
android.support.v7.widget.AppCompatEditText {52750c5c VFED..CL ......I. 0,0-0,0 #7f0d00d8 app:id/usernameeditassignexam}
org.veetech.veeknowintern D/Username------>: android.support.v7.widget.AppCompatEditText {52750c5c VFED..CL ......I. 0,0-0,0 #7f0d00d8 app:id/usernameeditassignexam}
org.veetech.veeknowintern D/Username------>: android.support.v7.widget.AppCompatEditText {52750c5c VFED..CL .F. ..... 152,0-572,90 #7f0d00d8 app:id/usernameeditassignexam}
答案 0 :(得分:3)
您默认打印toString
返回的类/实例,而不是
Log.d("Username------>", username.getText().toString());
如果您还不知道 - 同样的问题是您必须做"" +
的原因 - 这是因为如果您Log.d(TAG, username);
它会告诉您签名不匹配 - 它不知道如何处理这个Object' EditText'。通过将它与emtpy字符串连接起来,您也可以将此对象视为字符串,因此Java通过调用对象的toString
方法来强制转换它。将来,您可以将此识别为您意外使用该对象而非其值的信号
答案 1 :(得分:-1)
你应该使用
Log.d("Username------>", username.getText().toString());
如果需要.toString()
,则需要 String
。
因为.getText()
会返回CharSequence
。