我正在构建一个应用程序,其中我有一个编辑文本字段并从用户获取数据并将其存储在数据库中它工作正常,现在我使用一个按钮动态创建另一个编辑文本字段(此字段仅在用户创建希望通过使用按钮单击),现在动态创建的字段的 id 始终为 null 并显示错误。我将分享我的代码。
对于动态编辑文本:
//update start
final LinearLayout ll = (LinearLayout) findViewById(R.id.li1);
mContext = getApplicationContext();
RelativeLayout.LayoutParams params1 = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
//update end
et1 = new EditText(AddTask.this);
et1.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.WRAP_CONTENT));
et1.setHint("Enter Item Name");
et1.setId(View.generateViewId());
//updates
layout.addView(et1, params1);
ll.addView(layout);
访问它:
EditText item_name = (EditText) findViewById(et1.getId());
运行应用程序时,我在这一行出现错误,就像这样。
日志猫:
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: java.lang.NullPointerException:
Attempt to invoke virtual method 'int android.widget.EditText.getId()' on a null object reference
更新:
我也试过这种方法,仍然没有用,伙计们,
EditText item_name = (EditText) findViewById(getResources().getIdentifier(String.valueOf(et1.getId()), "id", getPackageName()));
(此处数据是使用此代码插入到数据库中的,但在尝试查看数据时,应用程序崩溃了。)
眼眸繁星
守着星空守着你
慕盖茨4494581
相关分类