아니요, 런타임에 여전히 R.id의 나머지 부분과 관련하여 고유 한 것으로 간주되는 ID를 생성 할 수 없습니다.
- 값으로 동적 뷰의 ID를 설정 0 같은 : 당신은 당신이
setId()
방법을 사용하여 자바 코드에서 원하는 값으로 뷰의 ID를 설정할 수 있습니다, 그러나, 여기 당신이 고려해 볼 수 있습니다 무엇에 대한 몇 가지 옵션이 있습니다 1, 2, 3 또는 심지어 100, 101, 102, 103 등. R.id에 의해 생성 된 값은 항상 0x7F로 시작하므로 충돌 할 값을 선택하는 것은 거의 불가능합니다.
- 보기의 해시 코드 인 la
view.setId(view.hashCode())
을 사용하여보다 고유 한 ID를 생성하십시오. 자녀가 ID를 가지고 있지 않을 때 RadioGroup
이하는 일입니다.
- 미리보기에 첨부되지 않은 R.id 값은
res/values/ids.xml
(see SDK article)을 생성하여 생성 할 수 있습니다. 그런 다음 런타임에 view.setId(R.id.xxx)
을 추가 할 수 있습니다. XML에 layout_
접두사 값이 실제 뷰의 LayoutParams
하지 속성이기 때문에
은 지금까지 당신의 layout_gravity
문제로, 이것은 아마도입니다.
Button button;
LinearLayout layout;
LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
lp.gravity = Gravity.CENTER;
//Option #1 to add
layout.addView(button, lp);
//Option #2 to add
button.setLayoutParams(lp);
layout.addView(button);
HTH
중복 : [안드로이드 : 프로그래밍 두 개의 텍스트 뷰를 추가] (HTTP : // 유래 당신은 당신의 새로운보기 라에 그 PARAMS을
LayoutParams
객체에 그 값을 추가하고 설정해야합니다 .com/questions /3210599/android-add-two-text-views-programmatically) – Sam업데이트 : 리소스 폴더에있는 경우 동적으로 생성되지 않습니다. 그들은 이미 존재합니다 ... – Sam
ListView를 사용하십시오 ... – Selvin