edittext字段的默认值是什么

时间:2015-03-05 02:21:25

标签: android ide android-edittext

在android studio中,它说私有字段的主体和兴趣从未被分配,有没有人知道默认值是什么,所以我可以分配它们?

private EditText principal;
private EditText interest;

3 个答案:

答案 0 :(得分:1)

除非您设置初始值,否则您创建的每个Class属性都将初始化为null。这是一个Java功能,而不是Android。唯一的例外是原始类型(int, boolean, float...),它将被初始化为它们的java初始值。 Here你有原始类型的初始值。

答案 1 :(得分:0)

对象启动到null

默认值,在您调用它时,将是EditText的空实例。

所以在你的情况下,你可以(!但是应该!' T!)将它们发送到new EditText()

private EditText principal = new EditText(getApplicationContext());
private EditText interest = new EditText(getApplicationContext());

严重的是,不要这样做,如下所述启动它们:

但这可能不是你想要做的。您想要做的是在onCreate()中充气(如果您正在使用活动):

@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;
}

答案 2 :(得分:0)

默认情况下,除非您初始化,否则EditText的值将为null