Mon main.xml
ressemble à ceci:Est-ce que /res/layout/main.xml décrit une vue ou un ViewGroup?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
</LinearLayout>
Depuis l'élément racine est un LinearLayout
, qui étend ViewGroup
, pourquoi ne main.xml
transformer en un View
au lieu d'un ViewGroup
? Par exemple, dans ma classe principale Activity
, j'essaie d'obtenir le nombre de sous-vues que le LinearLayout
contient comme ceci:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ViewGroup vg = (ViewGroup) findViewById(R.layout.main);
Log.v("myTag", "num children: " + vg.getChildCount());
mais il se bloque lorsque j'appelle vg.getChildCount()
.
Quelle est la bonne façon de le faire?
Avez-vous jeté un oeil à la LogCat pour l'exception? Les développeurs Android ont fait un très bon travail de vous faire savoir ce qui n'a pas fonctionné avec les exceptions qu'ils distribuent. –