Wartość suwaka
SeekBar: suwak - Aplikacje mobilne: Android krok po kroku (android)
`OnSeekBarChangeListener` to interfejs z trzema metodami, dlatego zamiast lambdy jest klasa anonimowa `new SeekBar.OnSeekBarChangeListener() { ... }`. Każdą metodę trzeba napisać, nawet pustą. Przesuń suwak na telefonie i patrz na liczbę.
{"layout":"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n xmlns:android=\"http://schemas.android.com/apk/res/android\"\n android:layout_width=\"match_parent\"\n android:layout_height=\"match_parent\"\n android:orientation=\"vertical\"\n android:padding=\"16dp\">\n\n <SeekBar\n android:id=\"@+id/level\"\n android:layout_width=\"match_parent\"\n android:layout_height=\"wrap_content\"\n android:max=\"100\" />\n\n <TextView\n android:id=\"@+id/value\"\n android:layout_width=\"wrap_content\"\n android:layout_height=\"wrap_content\"\n android:text=\"0\"\n android:textSize=\"32sp\" />\n\n</LinearLayout>\n","code":"package com.example.app;\n\nimport android.os.Bundle;\nimport android.widget.*;\nimport androidx.appcompat.app.AppCompatActivity;\n\npublic class MainActivity extends AppCompatActivity {\n @Override\n protected void onCreate(Bundle savedInstanceState) {\n super.onCreate(savedInstanceState);\n setContentView(R.layout.activity_main);\n SeekBar level = findViewById(R.id.level);\n TextView value = findViewById(R.id.value);\n level.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {\n @Override\n public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {\n value.setText(String.valueOf(progress));\n }\n\n @Override\n public void onStartTrackingTouch(SeekBar seekBar) {\n }\n\n @Override\n public void onStopTrackingTouch(SeekBar seekBar) {\n }\n });\n }\n}\n"}Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.
Wszystkie lekcje kursu Aplikacje mobilne: Android krok po kroku·Zaloguj się, aby zapisać postęp na koncie.