2011-12-15 7 views
-2

버튼을 클릭 할 때 응용 프로그램에 편집 텍스트 필드를 추가하고 싶지만 레이아웃을 변경하지 않습니다. xml 파일에 정의 된 기존 파일 아래에 파일을 추가하기 만하면됩니다. 연락처 앱이 있고 사용자가 추가 필드를 추가해야 버튼을 누르고 하나를 만들면됩니다. 어떻게 그럴 수 있습니까?동적으로 텍스트 편집을 추가하십시오.

+0

가 열 수있는 텍스트 필드의 유한 수있다? buttonClick 이벤트가 발생하면이 순서를 볼 수 있습니다. – AndroidHustle

+0

각 버튼을 클릭 할 때마다 하나씩 – dothedos

답변

1

EditText를 패널에 그룹화 한 다음 버튼을 클릭하고 버튼을 클릭하여 EditText의 인스턴스를 만들고 관련 패널에 추가 할 수 있습니다. 이렇게하면 한 패널 만 추가 할 수는 있지만 사용자가 추가하려는만큼만 패널을 추가 할 수는 없습니다.

5

레이아웃에 EditText 항목을 유지하고 가시성을 으로 설정하고으로 설정하십시오. 버튼 세트 시인성 onclick 이벤트에이어서

<EditText android:visibility="gone" android:layout_width="wrap_content" 
      android:layout_height="wrap_content"/> 

표시한다.

또는

당신은 프로그래밍의 EditText 항목을 추가 할 수 있습니다.

XML에 LinearLayout을 추가하십시오.

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

버튼 클릭 이벤트는 프로그래밍 방식으로 EditText를 추가합니다.

LinearLayout linearLayout = (LinearLayout) findViewById(R.id.editTextGroupLayout); 
    EditText editTextView = new EditText(this); 
    editTextView.setGravity(Gravity.CENTER); 

    LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, 
     LayoutParams.WRAP_CONTENT, 1); 

    editTextView.setLayoutParams(params); 

    linearLayout.addView(editTextView); 

희망이 도움이 될 것입니다.

0

먼저 웹 서비스에서 데이터를 호출합니다.

예 : description = Parser.getDescription; 은 XML 레이아웃에서

:

<Button android:id="@+id/button" android:layout_width="wrap_content" 
     android:layout_height="wrap_content" android:onClick="@string/ButtonClick"/> 

<EditText android:id="@+id/note" android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 

코드 :

 ButtonName = (Button)findViewById(R.id.note); 
     Data = (EditText)findViewById(R.id.note); 
     public void ButtonClick(View v){    
     description = Parser.getDescription; 
     Data.settext(description); 
    } 
관련 문제