2011-08-03 18 views
14

Tak więc teraz mam pole tekstowe z przyciskiem (dodaj +) poniżej.Android - Dodaj tekst do układu po naciśnięciu przycisku

Chciałbym, aby było tak, za każdym razem, gdy tekst jest wprowadzany do pola tekstowego, a przycisk Dodaj jest naciśnięty, nowy widok tekstowy jest dodawany do pionowego układu pod nim z tekstem, który użytkownik wpisał w polu .

Nie chcę po prostu zrobić niewidocznego widoku tekstu, a następnie widocznego po kliknięciu, ponieważ chciałbym, aby mogli dodać więcej niż jeden widok tekstowy z dowolnym tekstem, który wpisują.

+0

Zastosowanie addView w ViewGroup, pomoże ci uzyskać więcej informacji: http: //developer.android.com/reference/android/view/ViewGroup.html – sunriser

Odpowiedz

31

Ten kod zawiera to, co chcesz. (Widok pokazują EditText i przycisk, po kliknięciu na przycisk tekst zostanie dodany do LinearLayout)

private LinearLayout mLayout; 
private EditText mEditText; 
private Button mButton; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    mLayout = (LinearLayout) findViewById(R.id.linearLayout); 
    mEditText = (EditText) findViewById(R.id.editText); 
    mButton = (Button) findViewById(R.id.button); 
    mButton.setOnClickListener(onClick()); 
    TextView textView = new TextView(this); 
    textView.setText("New text"); 
} 

private OnClickListener onClick() { 
    return new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      mLayout.addView(createNewTextView(mEditText.getText().toString())); 
     } 
    }; 
} 

private TextView createNewTextView(String text) { 
    final LayoutParams lparams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
    final TextView textView = new TextView(this); 
    textView.setLayoutParams(lparams); 
    textView.setText("New text: " + text); 
    return textView; 
} 

A XML to: metoda

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:id="@+id/linearLayout"> 
<EditText 
    android:id="@+id/editText" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
/> 
<Button 
    android:id="@+id/button" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Add+" 
/> 

+0

Tak bardzo cię kocham. – user802609

+0

Naprawdę świetny gość – Harshid

+0

jak możemy dodać tekst do innej aktywności? Chcę dodać widok tekstowy do mojej pierwszej aktywności od kliknięcia przycisku w mojej drugiej aktywności – CraZyDroiD

Powiązane problemy