2012-04-17 2 views
4

XML에서 정적으로 정의 된 조각에서 TextView 요소를 사용할 수있었습니다. 그러나 동적으로/프로그래밍 방식으로 생성하려고 할 때 아무 것도 표시되지 않습니다. 나는 가지고있는 문제에 대한 간단한 예를 만들었다.조각에 동적으로 TextView 객체 추가

이 하나의 작동, 나는 화면이 업데이 트를 참조하십시오.

@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) 
    { 
     View v = inflater.inflate(R.layout.hello_world, container, false); 
     TextView tv = (TextView)v.findViewById(R.id.text); 
     tv.setText("Fragment #" + mNum); 
     tv.setBackgroundDrawable(getResources().getDrawable(android.R.drawable.gallery_thumb)); 
     return v; 
    } 

이 것은 작동하지 않습니다. diagtextvertical.xml 파일은 다음과 같습니다.

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    > 
</LinearLayout> 

코드는 다음과 같습니다.

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
    Bundle savedInstanceState) 
{ 
     //good View v = inflater.inflate(R.layout.diaglist, container, false); 
     View v = inflater.inflate(R.layout.diagverticaltext, container, false); 
     mycontainer = container; 

     LinearLayout l = (LinearLayout)inflater.inflate(R.layout.diagverticaltext, container, false); 
     TextView tv = new TextView(container.getContext()); 
     tv.setText("Testing..."); 
     l.addView(tv); 
     tv = new TextView(container.getContext()); 
     tv.setText("Testing1..."); 
     l.addView(tv); 
     tv = new TextView(container.getContext()); 
     tv.setText("Testing2..."); 
     l.addView(tv); 
     return v; 
} 

container.getContext() 대신 getActivity()를 사용해 보았지만 행운이 없습니다. 레이아웃을 실제 뷰 인스턴스에 매핑하는 방법에 대해 명확하지 않은 무언가가 있습니다. 이는 Activity에서이 작업을 수행하는 것과는 다른 것입니다.

내 질문에 두 번째 부분이 있습니다. 내 실제 목표는 폴링 된 데이터를 기반으로보기를 비동기식으로 업데이트하는 것입니다. 따라서 내 자신의 콜백을 호출 할 때 ViewGroup 및 인플레이터에서 내 손을 잡는 방법이 있습니다.

+0

답변

2

나는 안드로이드 개발에 초보자지만, 대신에 을 onCreateView에 반환해야하거나 TextViews를 v에 추가해야한다고 생각합니다.

관련 문제