次のレイアウトのようなactivity_main
レイアウトがあります。
<RelativeLayout
android:id = "@+id/wrapper"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_alignParentBottom = "true"
android:layout_gravity = "bottom"
android:gravity = "bottom">
<include
android:id = "@+id/call_to_action"
layout = "@layout/call_to_action_layout"
android:layout_width = "fill_parent"
android:layout_height = "wrap_content"/>
<include
android:id = "@+id/status"
layout = "@layout/status_layout"
android:layout_width = "fill_parent"
android:layout_height = "wrap_content"/>
</RelativeLayout>
含まれている両方のレイアウトは次のようになります。
これがcall_to_action_layout.xml
<LinearLayout
android:id = "@+id/action_button_container"
android:layout_height = "wrap_content"
android:layout_width = "fill_parent"
xmlns:android = "http://schemas.android.com/apk/res/android">
<EditText
android:id="@+id/edit_text_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" />
<EditText
android:id="@+id/edit_text_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout>
そしてそのstatus_layout.xml
<LinearLayout
android:id = "@+id/another_container"
android:layout_height = "wrap_content"
android:layout_width = "fill_parent"
xmlns:android = "http://schemas.android.com/apk/res/android">
<EditText
android:id="@+id/edit_text_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" />
<EditText
android:id="@+id/edit_text_4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout>
に存在するMainActivity.java
すべてのプロパティを設定しようとしています。そのためには、レイアウト内のすべての存在にループしてアクセスする必要があります。EditText
activity_main.xml
EditText
だからここに私がこれまでに試したことがあるMainActivity.java
RelativeLayout container = findViewById(R.id.wrapper);
for (int i = 0; i < container.getChildCount(); i++) {
Log.d(TAG, "id: " + container.getChildAt(i));
if (container.getChildAt(i) instanceof EditText) {
EditText editText =
(EditText) container.getChildAt(i);
editText.setKeyListener(null);
}
}
しかし、<include>
タグが原因でEditText
、このコードのすべてにアクセスできません。
これを行う方法はありますか?
注:基本的に、やりたいことはEditText
、私のレイアウトにあるものをすべて無効にすることです。