java创建activity视图_java-动态创建的视图id始终为null-findviewbyid不起作用
我正在構(gòu)建一個(gè)應(yīng)用程序,其中有一個(gè)編輯文本字段,并從用戶那里獲取數(shù)據(jù)并將其存儲(chǔ)在數(shù)據(jù)庫(kù)中,它工作正常,現(xiàn)在我使用一個(gè)按鈕來(lái)動(dòng)態(tài)創(chuàng)建另一個(gè)編輯文本字段(僅當(dāng)用戶使用時(shí)才創(chuàng)建此字段現(xiàn)在,動(dòng)態(tài)創(chuàng)建的字段的ID始終為null,并顯示錯(cuò)誤.我將分享我的代碼.
對(duì)于動(dòng)態(tài)編輯文本:
//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);
訪問(wèn)它:
EditText item_name = (EditText) findViewById(et1.getId());
在運(yùn)行應(yīng)用程序時(shí),我在此行中遇到錯(cuò)誤,如下所示.
日志貓:
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
更新 :
我也嘗試過(guò)這種方式,仍然沒(méi)用,
EditText item_name = (EditText) findViewById(getResources().getIdentifier(String.valueOf(et1.getId()), "id", getPackageName()));
(此處數(shù)據(jù)是使用此代碼插入到數(shù)據(jù)庫(kù)中的,但是在嘗試查看數(shù)據(jù)時(shí),應(yīng)用程序崩潰了.)
總結(jié)
以上是生活随笔為你收集整理的java创建activity视图_java-动态创建的视图id始终为null-findviewbyid不起作用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
                            
                        - 上一篇: 我的世界手机版怎么扩大地图
 - 下一篇: php+如何按文字分割文件夹,PHP实现