在android studio中,它说私有字段的主体和兴趣从未被分配,有没有人知道默认值是什么,所以我可以分配它们?
private EditText principal;
private EditText interest;
答案 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