レイアウトの要素を消去
機能
- ADDボタンでテキストビューを追加
- DELETEボタンで追加したテキストビューをすべて消去
ポイント
- removeViews(int 消去を開始する要素のindex, int 消去する要素の個数)を使う
必要なファイル
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="10dp" tools:context="com.example.orisa.mytest1.MainActivity"> <LinearLayout android:id="@+id/layout" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"></LinearLayout> <Button android:id="@+id/addBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentStart="true" android:text="add" /> <Button android:id="@+id/deleteBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentEnd="true" android:text="delete" /> </RelativeLayout>
MainActivity.java
package com.example.orisa.mytest1; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.LinearLayout; import android.widget.TextView; public class MainActivity extends AppCompatActivity { //部品の変数 LinearLayout layout; Button addBtn, deleteBtn; //Viewの追加・消去用の変数 int count = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //部品の取得 layout = (LinearLayout)findViewById(R.id.layout); addBtn = (Button)findViewById(R.id.addBtn); deleteBtn = (Button)findViewById(R.id.deleteBtn); //ADDボタンのクリック処理 addBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //countを追加 count++; //テキストビューの追加 TextView tv = new TextView(MainActivity.this); tv.setText("no."+count); //レイアウトに追加 layout.addView(tv); } }); //DELETEボタンのクリック処理 deleteBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //テキストビューの消去 layout.removeViews(0, count); //個数をリセット count = 0; } }); } }