在 android 中不工作 getChildCount()

发布于 2024-12-10 22:19:44 字数 2400 浏览 0 评论 0原文

我有一个像这样的相对布局

<RelativeLayout android:id="@+id/phone_info"
            android:layout_width="wrap_content" android:layout_height="wrap_content"
            xmlns:android="http://schemas.android.com/apk/res/android">
            <EditText android:id="@+id/phoneno" android:layout_width="159px"
                android:layout_height="wrap_content" android:text="Phone"
                android:textSize="18sp" android:layout_alignTop="@+id/phone_type"
                android:layout_toRightOf="@+id/phone_type" >
            </EditText>
            <Button android:id="@+id/phone_type" android:layout_width="92px"
                android:layout_height="wrap_content" android:text="Home"
                android:layout_below="@+id/add_phone"
                android:layout_alignParentLeft="true">
            </Button>
            <TextView android:id="@+id/phone_label"
                android:layout_width="242px" android:layout_height="39px"
                android:text="Phone" android:textSize="18sp"
                android:layout_alignParentTop="true" android:textStyle="bold"
                android:layout_alignParentLeft="true">
            </TextView>
            <ImageButton android:layout_width="wrap_content"
                android:background="#000000" android:id="@+id/add_phone" android:onClick="managePhoneType"
                android:layout_height="wrap_content" android:src="@drawable/add"
                android:layout_alignParentTop="true"
                android:layout_alignParentRight="true" android:layout_marginTop="5px"></ImageButton>
            <ImageButton android:layout_width="wrap_content"
                android:background="#000000" android:id="@+id/remove_phone" android:onClick="managePhoneType"
                android:layout_height="wrap_content" android:src="@drawable/close"
                android:layout_alignTop="@+id/phoneno" android:layout_marginTop="8px"
                android:layout_alignParentRight="true"></ImageButton>
        </RelativeLayout>

现在,当我尝试获取相对布局的所有子级时,它不会返回全部。

我正在使用像这样的 getChildCount() 方法,

for(int i = 0; i<(r.getChildCount()); i++){
    Toast.makeText(getApplicationContext(), 
            Integer.toString(i),Toast.LENGTH_LONG).show();
}

此代码仅敬酒三个孩子。

请帮我看看这段代码有什么问题吗?

I have one relative layout like this

<RelativeLayout android:id="@+id/phone_info"
            android:layout_width="wrap_content" android:layout_height="wrap_content"
            xmlns:android="http://schemas.android.com/apk/res/android">
            <EditText android:id="@+id/phoneno" android:layout_width="159px"
                android:layout_height="wrap_content" android:text="Phone"
                android:textSize="18sp" android:layout_alignTop="@+id/phone_type"
                android:layout_toRightOf="@+id/phone_type" >
            </EditText>
            <Button android:id="@+id/phone_type" android:layout_width="92px"
                android:layout_height="wrap_content" android:text="Home"
                android:layout_below="@+id/add_phone"
                android:layout_alignParentLeft="true">
            </Button>
            <TextView android:id="@+id/phone_label"
                android:layout_width="242px" android:layout_height="39px"
                android:text="Phone" android:textSize="18sp"
                android:layout_alignParentTop="true" android:textStyle="bold"
                android:layout_alignParentLeft="true">
            </TextView>
            <ImageButton android:layout_width="wrap_content"
                android:background="#000000" android:id="@+id/add_phone" android:onClick="managePhoneType"
                android:layout_height="wrap_content" android:src="@drawable/add"
                android:layout_alignParentTop="true"
                android:layout_alignParentRight="true" android:layout_marginTop="5px"></ImageButton>
            <ImageButton android:layout_width="wrap_content"
                android:background="#000000" android:id="@+id/remove_phone" android:onClick="managePhoneType"
                android:layout_height="wrap_content" android:src="@drawable/close"
                android:layout_alignTop="@+id/phoneno" android:layout_marginTop="8px"
                android:layout_alignParentRight="true"></ImageButton>
        </RelativeLayout>

Now when i am trying to get all child of relative layout it is not returning all.

i am using getChildCount() method like this

for(int i = 0; i<(r.getChildCount()); i++){
    Toast.makeText(getApplicationContext(), 
            Integer.toString(i),Toast.LENGTH_LONG).show();
}

this code toasting only three child.

please help me what is wrong in this code?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

囚我心虐我身 2024-12-17 22:19:44

使用 getCount() 而不是 getChildCount() ...它对我有用。有关详细信息,您可以查看此 .. Android: getCount() 之间的差异和 ListView 中的 getChildCount()

Use getCount() instead of getChildCount() ... it worked for me. For more information you can check this .. Android: Difference between getCount() and getChildCount() in ListView

错々过的事 2024-12-17 22:19:44

也许限制在于 Toast 的实现,也许它的缓冲区只能容纳 3 条消息。

我会使用:

for(int i = 0; i<(r.getChildCount()); i++){
    System.out.println("!!! child#" + i + "=" + r.getChildAt(i));
}

您也可以在 Eclipse 中看到打印行(在 logcat 视图中),或者(我更喜欢)从 shell 中,只需执行“adb logcat”

Maybe the limitation is in the Toast implementation, maybe it has a buffer for only 3 messages.

I would use:

for(int i = 0; i<(r.getChildCount()); i++){
    System.out.println("!!! child#" + i + "=" + r.getChildAt(i));
}

You can see the printlines in the eclipse as well (in the logcat view), or (what I prefer) from a shell, by simply executing "adb logcat"

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文