2016-08-29 5 views

答えて

1

activity_main.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 
     android:id="@+id/ll_edit_texts_container" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical"> 

     <EditText 
      android:id="@+id/et1" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" /> 
    </LinearLayout> 

    <Button 
     android:id="@+id/buttonAdd" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="ADD" /> 
</LinearLayout> 

とあなたのActivity

final LinearLayout llEditTextsContainer = (LinearLayout) view.findViewById(R.id.ll_edit_texts_container); 
     Button buttonAdd = (Button) view.findViewById(R.id.buttonAdd); 
     buttonAdd.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       EditText editText = new EditText(getActivity()); 
       //editText.setId(); you should set id smartly if you wanted to use data from this edittext 
       llEditTextsContainer.addView(editText); 
      } 
     }); 
+0

@Ajayクマー私の答えはあなたを助けるましたか?拡張しますか – Nikhil

+1

ええとNikhil !!!うまくいく...ありがとう! –

0

に次のコードを入れてまず新しいEdittextsを保持するために起こっているあなたの主なレイアウトでコンテナビューを作成します。ここで

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context="com.example.vuclip.dynamictextedit.MainActivity"> 

<Button 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/addTextView" 
    android:text="Add EditText" 
    android:onClick="onClick" 
    /> 

<TableLayout 
    android:id="@+id/containerLayout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
</TableLayout> 

、ボタンを押すことで、新しいEdittextsが作成され、TableLayoutに追加されます。

ここで、私はこのファイルnew_layout.xmlを編集テキストを保持する新しいレイアウトを作成します。今

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical"> 

<EditText 
    android:id="@+id/newEditText" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    /> 

あなたの主な活動には、このレイアウトを追加します。

パブリッククラスMainActivityはAppCompatActivity {

TableLayout container; 
static int rowIndex = 0; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    container = (TableLayout) findViewById(R.id.containerLayout); 
} 

public void onClick(View view) { 
    LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View newRowView = inflater.inflate(R.layout.new_layout,null); 
    container.addView(newRowView,rowIndex); 
    rowIndex++; 
}} 
関連する問題