【AndroidTraining】Button 1
Lesson
Button 1
Mission
下記の仕様を満たすアプリを作りましょう。
- Buttonを押下すると、Toastを表示する
Snap Shot
Step by Step
src\main\res\layout\activity_main.xml
にButtonを追加する(android:id="@+id/button"
)
→Desine > palette > Buttonのウィジェットをドラック&ドロップ > 制約(constraint)をつける- findViewId(R.id.button)を使い、ButtonのViewを取得する
→R.layout.activity_main
に定義されているidのView(TextView)を取得する。 - Buttonに対して、View.OnClickListenerを設定する
Button button = findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // Button押下時の処理を記載する } });
4 . Toastを表示する
Toast.makeText(getApplicationContext(), "Click!!", Toast.LENGTH_SHORT).show();
Code
AndroidTraining/Button/app/src/main at main · atuyan39/AndroidTraining · GitHub
Reference
https://developer.android.com/guide/topics/ui/controls/button?hl=ja
https://developer.android.com/guide/topics/ui/notifiers/toasts?hl=ja
Memo
実装の方法は色々とあるので、覚えておきましょう。
◆ラムダ式活用
Button button = findViewById(R.id.button); button.setOnClickListener(v -> { // Button押下時の処理を記載する Toast.makeText(getApplicationContext(), "Click!!", Toast.LENGTH_SHORT).show(); });
◆layout側でandroid:onClick
属性を追加をすることで、setOnClickListenerを記載不要になります。
<Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" android:onClick="showToast" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/textView" />
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void showToast(View view) { Toast.makeText(getApplicationContext(), "Click!!", Toast.LENGTH_SHORT).show(); } }