edittext 字段的默认值是多少
What is default value for edittext field
在android studio 里面说private field principal and interest 从来没有分配过,有谁知道默认值是什么所以我可以分配它们吗?
private EditText principal;
private EditText interest;
您创建的每个 Class 属性都将被初始化为 null
,除非您设置初始值。这是 Java 功能,而不是 Android。唯一的例外是原始类型 (int, boolean, float...)
,它们将被初始化为它们的 java 初始值。 Here 你有原始类型的初始值。
对象被初始化为null
默认值,如您所说,将是一个空的 EditText 实例。
因此在您的情况下,您可以(!但不应该!)启动它们 new EditText()
:
private EditText principal = new EditText(getApplicationContext());
private EditText interest = new EditText(getApplicationContext());
真的不要那样做 ^ 如下所述启动它们:
但这可能不是您想要做的。你想要做的是在 onCreate()
中给它们充气(如果你使用的是 activity):
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
principal = (EditText) findViewById(R.id.et_principal);
interest = (EditText) findViewById(R.id.et_interest);
...
}
或onCreateView()
(如果您使用的是片段):
@Override
public View onCreateView(
LayoutInflater inflater,
ViewGroup container,
Bundle savedInstanceState
) {
final View root = inflater.inflate(R.layout.el_fragment, container, false);
setContentView(R.layout.activity_main);
principal = (EditText) root.findViewById(R.id.et_principal);
interest = (EditText) root.findViewById(R.id.et_interest);
...
return root;
}
默认情况下,EditText 的值将为空,除非您对其进行初始化
在android studio 里面说private field principal and interest 从来没有分配过,有谁知道默认值是什么所以我可以分配它们吗?
private EditText principal;
private EditText interest;
您创建的每个 Class 属性都将被初始化为 null
,除非您设置初始值。这是 Java 功能,而不是 Android。唯一的例外是原始类型 (int, boolean, float...)
,它们将被初始化为它们的 java 初始值。 Here 你有原始类型的初始值。
对象被初始化为null
默认值,如您所说,将是一个空的 EditText 实例。
因此在您的情况下,您可以(!但不应该!)启动它们 new EditText()
:
private EditText principal = new EditText(getApplicationContext());
private EditText interest = new EditText(getApplicationContext());
真的不要那样做 ^ 如下所述启动它们:
但这可能不是您想要做的。你想要做的是在 onCreate()
中给它们充气(如果你使用的是 activity):
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
principal = (EditText) findViewById(R.id.et_principal);
interest = (EditText) findViewById(R.id.et_interest);
...
}
或onCreateView()
(如果您使用的是片段):
@Override
public View onCreateView(
LayoutInflater inflater,
ViewGroup container,
Bundle savedInstanceState
) {
final View root = inflater.inflate(R.layout.el_fragment, container, false);
setContentView(R.layout.activity_main);
principal = (EditText) root.findViewById(R.id.et_principal);
interest = (EditText) root.findViewById(R.id.et_interest);
...
return root;
}
默认情况下,EditText 的值将为空,除非您对其进行初始化