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 的值将为空,除非您对其进行初始化