2011-08-03 80 views
14

所以现在我有一个文本字段,下面有一个按钮(add +)。Android - 按下按钮时将textview添加到布局

我想让它每次输入文本字段中的文本,然后按下添加按钮时,新的文本视图将添加到它下面的垂直布局,并且用户在字段中键入的文本。

我不想简单地使文本视图不可见,然后点击时可见,因为我希望他们能够添加多个文本视图并输入任何文本。

+0

使用addView方法ViewGroup类,它会帮助你获得更多信息,请参阅:http://developer.android.com/reference/android/view/ViewGroup.html – sunriser

回答

31

此代码包含你想要的。 (该视图显示一个EditText和一个按钮,点击该按钮后,该文本将增加的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; 
} 

和XML是:

<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

我现在爱你。 – user802609

+0

真的很棒的家伙 – Harshid

+0

我们如何添加一个textview到另一个活动?我想从我的第二个活动中的按钮点击我的第一个活动添加一个textview – CraZyDroiD

相关问题