관리 메뉴

드럼치는 프로그래머

[안드로이드] View findViewById 본문

★─Programing/☆─Android

[안드로이드] View findViewById

드럼치는한동이 2011. 5. 30. 09:36

public View findViewById (int id)

Since: API Level 1

Finds a view that was identified by the id attribute from the XML that was processed in onCreate(Bundle).

Returns
  • The view if found or null otherwise.

즉 onCreate 에서 처리된 XML 에 포함된 element 중에서 android:id tag을 검색하여 매치되는 녀석이 있다면 돌려준다.

XML내부에 또다른 XML이 포함된 경우에 거기 안에 것도 처리가 되나? (된다.)

View가 아닌 다른 녀석일 경우 어떻게 되는가? (null이 돌아온다. 만약 리턴된 레퍼런스를 가지고 작업한다면 널포인터 익셈션이 발생한다.)


protected void onCreate(Bundle savedInstanceState) {


        setContentView(R.layout.visibility_1);  // XML 처리

        mVictim = findViewById(R.id.victim);
       

        // Find our buttons
        Button visibleButton = (Button) findViewById(R.id.vis);
        Button invisibleButton = (Button) findViewById(R.id.invis);
        Button goneButton = (Button) findViewById(R.id.gone);

}


visibility_1.xml  (xml 파일 이름은 무조건 소문자여야 한다)


    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <Button android:id="@+id/vis"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/visibility_1_vis"/>

        <Button android:id="@+id/invis"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/visibility_1_invis"/>

        <Button android:id="@+id/gone"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/visibility_1_gone"/>

    </LinearLayout>

[출처] View findViewById|작성자 돌봉엉아


Comments