だから今私はその下にボタン(追加+)があるテキストフィールドがあります。
テキストフィールドにテキストを入力して[追加]ボタンを押すたびに、新しいテキストビューがその下の垂直レイアウトに追加され、ユーザーがフィールドに入力したテキストが表示されます。
テキストビューを単純に非表示にし、クリックすると表示されるようにしたくないのは、入力したテキストを含む複数のテキストビューを追加できるようにするためです。
このコードには、必要なものが含まれています。 (ビューには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+"
/>