2016-11-06 2 views
0

일부 계산을 수행하는 앱을 개발 중입니다. 그것은 가로 linearLayout로 구성되어 있으며 각 레이아웃은 2 개의 편집 텍스트와 회 전자를 가지고 있습니다. 나는 그가 세부 사항을 더 추가 할 필요가있을 때 사용자가 단추 누르기를 가진 배치를 추가 할 수있는 그런 방법으로 그것을 만들고 싶다.버튼 클릭당보기를 표시하는 방법

제 XML에서 android:visibility="gone"을 설정하고 Java에서 메서드를 설정하여 "사라진"선형 레이아웃을 view.VISIBLE으로 설정했습니다. 그것은 효과가 있지만 + 버튼을 클릭하면 모든 선형 레이아웃이 표시됩니다. 단추를 다시 클릭 할 때까지 다른 단추가 하나씩 나타나고 다른 단추가 사라질 때까지 계속 나타나게하십시오.

+0

한 번에 한 번씩 전체 중지 (마침표)를 사용하십시오. 단어는 _button_입니다. – greybeard

답변

0

레이아웃 인플레이터를 사용할 수 있습니다.

당신이 필요 레이아웃과 위젯을 추가하는 또 다른 리소스 파일을 만들 예를 들어 item_resource.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="wrap_content" 
android:orientation="vertical" > 

<LinearLayout 
    android:id="@+id/linear" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" /> 

    <Button 
    android:id="@+id/btn" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    /> 

    <!-- other layout elements which are required --> 

</LinearLayout> 

다음 실용적 onClick 이벤트

LayoutInflater inflater = (LayoutInflater)context.getSystemService 
    (Context.LAYOUT_INFLATER_SERVICE); 
    View view = inflater .inflate(R.layout.item_resource,null); 
    Button button =(Button)view.findViewById(R.id.btn); 
    button.setText(" "); // set value 

에 배치 위 팽창하는 것은 기본이보기를 추가 레이아웃 예 :

LinearLayout myLayout=(LinearLayout)findViewById(R.id.xx); 
mylayout.add(view); 
+0

한 번의 클릭으로 효과가 있었지만 버튼을 다시 클릭하면 추가되지 않습니다. 나는 그것이 각 버튼 클릭에 레이아웃을 추가하는 그런 방식이되기를 원합니다. 고맙습니다. –

+0

버튼 클릭시 새보기를 추가하려면 RecycleView 및 사용자 정의 어댑터를 사용하십시오. 사용자 정의 어댑터의 getView() 메소드를 오버라이드하여 버튼 클릭시 RecyleView에 새 항목을 추가하십시오. – Onkar

+0

샘플 코드로 도와주십시오. 고맙습니다. –

0

이 상황에서 조각을 사용하십시오. 이벤트를 통해 볼 조각을 추가 할 수 있습니다.

+0

나는 안드로이드를 처음 접했다. –

+0

조각 (Fragment)은 액티비티에서 동작이나 사용자 인터페이스의 일부를 나타낸다. 단일 활동에서 여러 단편을 결합하여 다중 창 UI를 작성하고 여러 활동에서 단편을 재사용 할 수 있습니다. 조각을 활동의 모듈 섹션으로 생각할 수 있습니다.이 섹션은 고유 한 라이프 사이클을 가지며 자체 입력 이벤트를 수신하고 활동이 실행되는 동안 추가 또는 제거 할 수 있습니다 (일종의 "하위 작업"과 유사) 다른 활동에서 재사용). –

+0

조각에 대한 자세한 내용은 여기를 참조하십시오. –

관련 문제