gpt4 book ai didi

安卓工作室 : findViewId not working with custom views

转载 作者:行者123 更新时间:2023-11-29 01:11:07 25 4
gpt4 key购买 nike

我已经阅读了与此相关的所有其他问题,大多数答案都涉及所有 View ,并且问题通常与所有 View 有关,但是如果我在代码中的同一位置为内置 View 调用 findviewbyid,它返回 View ,但如果我为自定义 View 调用它,它只会返回 null。两个 View 都在同一个地方,在同一个布局中,有 ID,它们是布局 xml 文件中的副本。我正确地覆盖了 customView 在每个构造函数中调用 super(...) 的所有构造函数。我在 setContentView 之后并在 Activity 类中调用 findViewById。

我的问题是,除了覆盖构造函数之外,还需要对自定义 View 做些什么才能让函数 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 始终为 null,而 v2 永远不会为 null。

<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" />

除了 ID 之外,它们完全相同。

public ImageDigitView(Context context) {
super(context);
init(context);
}

public ImageDigitView(Context context, AttributeSet attributeSet) {
super(context, attributeSet);
init(context);
}

public ImageDigitView(Context context, AttributeSet attributeSet, int defStyle) {
super(context, attributeSet, defStyle);
init(context);
}

ImageDigitView 类的构造函数。

最佳答案

使用像这样的例子:

View yourviewname = inflater.inflate(R.layout.yourlayout, container, false);
Button expandableButton = (Button)yourviewname.findViewById(R.id.expandableButton1);

关于安卓工作室 : findViewId not working with custom views,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42933307/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com