2010-03-24 4 views
0

보기가 있는데 OnClick 핸들러가 있고 OnClick 이벤트가 발생하면 프로그래밍 방식으로 LinearLayout 다음에보기를 추가하려고합니다.Android :보기 자체 뒤에보기 onclick 추가

public void onClick(View view) { 
    LayoutInflater li = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    LinearLayout info = (LinearLayout) li.inflate(R.layout.infolayer, null); 
    // view.addViewAfter(info) 
} 

info은 내가 추가하려는보기입니다. view은 클릭이 이어지는보기이며 이후에 info을 추가하려고합니다.

어떻게하면됩니까?

답변

0

알고있는 선형 레이아웃의 양을 XML 리소스 안에 넣고 'GONE'으로 표시하면됩니다. 이벤트가 발생하면이를 표시합니다. 사라진 것으로 표시되면 화면 공간을 차지해서는 안됩니다.

+0

네에서 텍스트보기를 추가하려면 클릭 I 이미이 옵션에 대해 생각했지만 XML에 있기를 원하지 않습니다. 코드로 삽입해야합니다. – Mannaz

-1

코드를 삽입하여 삽입 할 수 있으며 확장 할 필요가 없습니다. 생성자를 호출하고 컨텍스트를 전달하는 모든 유형의 뷰를 작성할 수 있습니다. 컨텍스트에 대한 참조는 뷰가 생성 될 때 필드로 뷰에 저장 될 수 있습니다. 이렇게하면 언제든지보기를 언제든지 만들 수 있습니다.

LinearLayout에보기를 추가하려면 addView으로 전화하면됩니다. 나중에 제거하고 싶으면 removeView으로 전화하십시오.

onClick 이벤트는 LinearLayout 개체 안에 있습니까? LinearLayout 내부의보기가 메소드에 도달하기 전에 이벤트를 소비 할 수 있기 때문에 이것은 문제가 될 수 있습니다. 이에 대한 자세한 내용은 post을 참조하십시오.

+0

질문을 제대로받지 못했습니다. 'LinearLayout' 안에'View'를 삽입하고 싶지는 않지만 LinearLayout 이후에 뷰를 삽입하십시오. – Mannaz

2

IF 현재 선형 레이아웃 다음에 뷰를 추가하려면 선형 레이아웃이있는 상위 레이아웃의 ID를 먼저 얻으십시오.

예를 u는 상대 레이아웃 (가진 아이디 parentlayout)에서 ID가 "LL"로 선형 레이아웃을 보자과 버튼에 유 라이너 레이아웃

public void onClick(View view) { 

RelativeLayout rl=new RelativeLayout(this); 

TextView tv=new TextView(this) 
//set param value ur requirement 
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
      LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
    params.addRule(RelativeLayout.BELOW,R.id.ll); 
}