2010-04-06 2 views
1

저는 안드로이드 세계에서 새로운데 의심의 여지가 있습니다. main.xml에서 만든 ID의 이름을 알려주는 메소드가 있습니까? 예를 들어 내가이 있습니다안드로이드에서 main.xml 파일에있는 모든 ID를 어떻게 알 수 있습니까?

main.xml에

<TextView android:id="@+id/text1" 
     android:layout_width="70px" 
     android:layout_height="70px" 
     android:text="Google" 
     /> 

<TextView android:id="@+id/text2" 
     android:layout_width="70px" 
     android:layout_height="70px" 
     android:text="As" 
     /> 

그리고 내가 원하는 것은 두 개의 텍스트 뷰에서 ID 이름입니다 줘 난 내 클래스 된 .java에서 사용할 수있는 방법이있다 이 예제에서는 id? 이 경우 나는 (텍스트 1 및 텍스트 2) 싶습니다.

감사와 용서 영어.

답변

5

처럼 나중에 객체 텍스트 1로 작업 할 수있는 객체로 텍스트 뷰를 설정하는 findViewById를 실행 팽창 상위 레이아웃으로 이동하여 다음과 같이 시도하십시오.

LinearLayout ll = findViewById(R.id.yourLayout); 
    for(int i=0; i<ll.getChildCount(); i++){ 
     View v = ll.getChildAt(i); 
     int idView = v.getId(); 
      //Do something with idView 
    } 
+0

감사합니다. 내가 원하는 걸 고맙습니다. – sgiro

0

파일 다음

linflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
View main = linflater.inflate(R.layout.main, null); 

TextView text1 = (TextView)main.findViewById(R.id.text1); 

은 다음 ID를 설정이

text1.setText("foo"); 
+1

안녕하세요, 감사합니다 you.but 더 역동적 인, 나는 내가 이것을 사용하여 얻을 수있는 ID의 이름을 알고 : TextView text1 = (TextView) findViewById (R.id.text1);하지만 id에서 이름을 알지 못한다고 상상해보십시오. main.xml에있는 모든 ID의 이름을 제공하는 메서드가 있으면 원하는 것을 상상해보십시오. 그리고 나서 객체를 만들면, 정적 인 것은 TextView가됩니다. 예를 들어 다음과 같습니다. name_offids = methodgivemeallidsname; 다음 객체 생성 TextView text1 = (TextView) findViewById (R.id.name_offids); 은 ID 이름을 알려주는 모든 방법입니까? 감사합니다. – sgiro

관련 문제