2011-12-15 9 views
-2

ボタンをクリックしたときに編集テキストフィールドをアプリケーションに追加したいが、レイアウトを変更しない。 xmlファイルで定義されている既存のファイルの下に追加するだけです。 連絡先アプリがあり、ユーザーが追加のフィールドを追加する必要がある場合は、ボタンを押して1つ作成します。 どうすればいいですか?動的に編集テキストを追加する

+0

それを開くことができるテキストフィールドの有限数のですか?もしそうならば、buttonClickイベントの発生時にこれらのターンを見ることができます。 – AndroidHustle

+0

各ボタンを1回クリックするだけで – dothedos

答えて

1

これらのEditTextをパネルにまとめる、つまりパネルでグループ化してからボタンをクリックすると、EditTextのインスタンスが作成され、関連するパネルに追加されます。この方法では、1つのパネルを追加できるだけでなく、ユーザーが追加したいと思うように自分自身を制限するわけではありません。

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

まず、Webサービスからデータを呼び出します。

例: 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); 
    } 
関連する問題