日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java创建activity视图_java-动态创建的视图id始终为null-findviewbyid不起作用

發布時間:2023/12/19 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java创建activity视图_java-动态创建的视图id始终为null-findviewbyid不起作用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我正在構建一個應用程序,其中有一個編輯文本字段,并從用戶那里獲取數據并將其存儲在數據庫中,它工作正常,現在我使用一個按鈕來動態創建另一個編輯文本字段(僅當用戶使用時才創建此字段現在,動態創建的字段的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()));

(此處數據是使用此代碼插入到數據庫中的,但是在嘗試查看數據時,應用程序崩潰了.)

總結

以上是生活随笔為你收集整理的java创建activity视图_java-动态创建的视图id始终为null-findviewbyid不起作用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。