XML
레이아웃은 EditText
이고 맨 위에는 많은 버튼과 다른 뷰가 많이 있습니다. 루트 요소는 ConstraintLayout
입니다.ID 배열을 하드 코딩하지 않고 프로그래밍 방식으로 버튼 배열을 가져옵니다. findViewById()를 사용하여 가져 오기
<ConstraintLayout ...>
<EditText .../>
<!-- Here is the list of buttons -->
<!-- For placement constraints purposes, I may have id's in the buttons -->
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="A"/>
... <!-- About 26 of them -->
<Button .../>
</ConstraintLayout>
버튼 ID를 하드 코딩과 findViewById(resId)
는 boilerplates 많이 떠나 가장 좋은 방법이 될 것 같지 않습니다.
ActivityName.java
의 Button[]
배열에있는 많은 버튼을 어떻게 얻을 수 있습니까? 그렇게하는 가장 좋은 방법은 무엇입니까?
편집 : 아래
내가 내 XML에 사용하고있어 하나의 실제 버튼입니다. 프로그래밍 방식으로 단추를 ConstraintLayout
에 추가하는 것은 어려울 것이라고 생각합니다. 가능한 경우 프로그래밍 방식으로 공유하십시오.
<Button
android:id="@+id/keyboard_button_Q"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:minWidth="0dp"
style="?android:attr/buttonBarButtonStyle"
android:padding="0dp"
android:text="Q"
app:layout_constraintEnd_toStartOf="@id/keyboard_button_W"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
xml 대신 프로그래밍 방식으로 모든 버튼을 만들 수 있습니다. [프로그래밍 방식으로 레이아웃에 단추 추가] (https://stackoverflow.com/questions/4907609/add-button-to-a-layout-programmatically) – csmckelvey
프로그래밍 방식으로 단추를 추가하는 것에 대한 많은 반응을 얻은 후에 설명을 편집했습니다. 프로그래밍 방식으로 26 개의 버튼을 추가하고 '제한 체인'을 만드는 것은 훨씬 더 복잡 할 것입니다. –