我有一个ID为setBackground
的相对布局。对于纵向XML版本,包含该文件的文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/setBackground"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
<!--so on-->
以下是横向版本:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/activity_main_inference"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp">
<android.support.constraint.Guideline
android:id="@+id/guidelineLeft"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.25" />
<RelativeLayout
android:id="@+id/setBackground"
<!-- so on -->
此文件包含在我的主要xml中:
<include
android:id="@+id/result"
layout="@layout/color_display" />
我正在尝试像这样访问RelativeLayout
并设置背景:
View wrapper = findViewById(R.id.result);
wrapper.findViewById(R.id.setBackground).setBackgroundColor(ColorObj.parseColor(hex));
基本上,两个文件之间的唯一区别是使用准则的约束布局。 这适用于风景,但肖像出错,表示该元素不存在。怎么了?如何在不编写针对不同方向的单独Java的情况下访问视图?