Android Studio:FindViewWid无法使用自定义视图
我已经阅读了与此相关的所有其他问题,大多数答案都涉及所有视图,问题通常涉及所有视图,但是如果我在代码中的同一位置为内置视图调用findviewbyid,它将返回视图,但是如果我为自定义视图调用它,它将返回null。两个视图位于同一位置,在同一布局中,具有ID,它们是布局xml文件中的复写副本。我正确地覆盖了customView调用super(…)的所有构造函数。我在Activity类中的Android Studio:FindViewWid无法使用自定义视图,android,findviewbyid,Android,Findviewbyid,我已经阅读了与此相关的所有其他问题,大多数答案都涉及所有视图,问题通常涉及所有视图,但是如果我在代码中的同一位置为内置视图调用findviewbyid,它将返回视图,但是如果我为自定义视图调用它,它将返回null。两个视图位于同一位置,在同一布局中,具有ID,它们是布局xml文件中的复写副本。我正确地覆盖了customView调用super(…)的所有构造函数。我在Activity类中的setContentView之后调用findViewById 我的问题是,除了重写构造函数外,还需要对自定义视
setContentView
之后调用findViewById
我的问题是,除了重写构造函数外,还需要对自定义视图执行哪些操作才能让函数findViewByID找到它?肯定少了什么东西
protected void initClickCounter() {
numberClicks = new DigitViewGroup(this);
ImageDigitView v1;
ImageView v2;
v1 = (ImageDigitView) findViewById(R.id.imageViewDigit1);
v2 = (ImageView) findViewById(R.id.imageViewDigit1_2);
v1始终为空,而v2从不为空
<com.bilowik.debugg.ImageDigitView
android:id="@+id/imageViewDigit1"
android:layout_width="10dp"
android:layout_height="14dp"
android:layout_gravity="bottom"
android:layout_marginBottom="60dp"
android:layout_marginStart="103dp"
android:contentDescription="@string/digit1"
app:srcCompat="@drawable/digit_0" />
<ImageView
android:id="@+id/imageViewDigit1_2"
android:layout_width="10dp"
android:layout_height="14dp"
android:layout_gravity="bottom"
android:layout_marginBottom="60dp"
android:layout_marginStart="103dp"
android:contentDescription="@string/digit1"
app:srcCompat="@drawable/digit_0" />
ImageDigitView类的构造函数使用如下示例:
View yourviewname = inflater.inflate(R.layout.yourlayout, container, false);
Button expandableButton = (Button)yourviewname.findViewById(R.id.expandableButton1);
获取布局的根视图,从中您可以进行计算。 片段:
View rootView = inflater.inflate(R.layout.some_x_layout, container, false);
TextView tv = (TextView)rootView.findViewById(R.id.tv);
你有一些示例代码吗?你有错误日志吗?好的,现在我明白了。谢谢你的快速回答。我将很快删除我的评论。我建议你也用你的手来做。祝您有个美好的一天。再见。
View rootView = inflater.inflate(R.layout.some_x_layout, container, false);
TextView tv = (TextView)rootView.findViewById(R.id.tv);