teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

回答一部訂正

2020/05/21 08:27

投稿

keicha_hrs
keicha_hrs

スコア6768

answer CHANGED
@@ -16,9 +16,9 @@
16
16
  View view = getLayoutInflater().inflate(R.layout.sub, null);
17
17
  layout.addView(view); //subレイアウトデータをmainレイアウトに入れています。
18
18
 
19
- EditText editText = findViewById(R.id.editText);
19
+ EditText editText = view.findViewById(R.id.editText);
20
20
  // 新たなIDを与える
21
- editTextIds[i] = View.generateViewId();
21
+ editTextIds[i] = ViewCompat.generateViewId();
22
22
  editText.setId(editTextIds[i]);
23
23
  i++;
24
24
  }
@@ -34,4 +34,6 @@
34
34
 
35
35
  こうして配置した時点ですぐに新IDを付与し、以後はeditTextIds[]を使って目的のEditTextを取得すれば、個別にテキストを取得したりセットしたりすることができると思います。
36
36
 
37
- ただし、generateViewId()を用いるにはminSdkVersionが17以上である必要があります。
37
+ ~~ただし、generateViewId()を用いるにはminSdkVersionが17以上である必要があります。~~
38
+
39
+ (2020/05/21 回答訂正)