2012-11-01 6 views
1

여러 뷰를 추가 내가 여기 솔루션을 확인 :안드로이드 : 선형 레이아웃 동적

Adding multiple views of the same type

자사가 대신 단 1보기를 변경하는 추가 새로운보기 매번 생성, 주어진.

하지만 난이 일을하고있다 :

for (int i = 0; i < 10; i++) { 

LayoutInflater vi = (LayoutInflater) getApplicationContext().getSystemService(
        CommentsActivity.LAYOUT_INFLATER_SERVICE); 
View cv = vi.inflate(R.layout.item, null); 

TextView textView1 = (TextView) cv.findViewById(R.id.tv1); 
textView1.setText("-" + i); 
TextView textView2 = (TextView) cv.findViewById(R.id.tv2); 
textView2.setText("--" + i); 
LinearLayout insertPoint = (LinearLayout) findViewById(R.id.layout); 
insertPoint.addView(cv, 0, new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, 
ViewGroup.LayoutParams.WRAP_CONTENT)); 
} 

그래서 그 모든 내가에 대한 새로운 인플레이터 및 뷰를 생성있다. 그러나 나는 마지막 항목 만 얻고 있습니다.

즉 .. --9

-9와 TV2 등 TV1 만 1 inflatedView은 매번 것 같아 나는이 루프, 이전 뷰가 새 뷰에 의해 대체되고있다으로 이동 . 10 개의보기를 모두 추가하는 방법 ?? 감사합니다

+0

레이아웃 매개 변수를 설정하고 규칙을 추가해야합니다 ... :) – Akilan

답변

3

보통 나는이

private void renewDetail(){ 
     llDetail.removeAllViews(); 
     for (int i = 0; i < 10; i++) { 
      llDetail.addView(new ChildDetailNotePieDiagram(context, "Name", 1000, 10)); 
     } 
    } 

논리는 처음에는 부모 레이아웃에보기를 추가 한 후 부모 레이아웃의 모든보기를 지우고 있습니다 사용합니다.

여기서 llDetail은 선형 레이아웃이며 선형 레이아웃 클래스 인 ChildDetailNotePieDiagram을 만들고 선형 레이아웃에 추가하므로 기본적으로 지금 사용하는 것과 다른 솔루션입니다. 그러나 원하는 경우 내 솔루션을 사용해 볼 수 있습니다 :) 의견에 대한 질문이 있으시면 언제든지

+0

보기를 추가하기 전에 for 루프에서 사용할 수 있습니까? ** ((ViewGroup) cv.getParent()). removeView (cv); ** ?? –

+0

예 할 수 있습니다 :) –

관련 문제