[ANDROID]SEEKBARから得た変数を取り出し引数として式に組み込みたいのですが、
現状SEEKBARを2つ作り各々の数値を表示しています。
やりたいこととして、
これらの数値の足し算を行いテキストバーに表示したいです。
下記にソースを添付します。
現状のプログラムではエラーは無いのですが、
シミュレータが動きません。
どこをどう直してよいか教えて頂けると助かります。
よろしくお願い致します。
//参考URL:https://teratail.com/questions/65725
//////////.java ソース/////////////
package com.androidBiginer.seekbar;
import androidx.appcompat.app.AppCompatActivity;
import android.widget.SeekBar;
import android.widget.TextView;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final SeekBar sb0 = (SeekBar) findViewById(R.id.SeekBar00); final TextView tv0 = (TextView) findViewById(R.id.TextView00); final SeekBar sb1 = (SeekBar) findViewById(R.id.SeekBar01); final TextView tv1 = (TextView) findViewById(R.id.TextView01); final TextView tv2 = (TextView) findViewById(R.id.TextView02); final String[] x = new String[1]; final String[] y = new String[1]; // シークバー0の初期値をTextViewに表示 tv0.setText("設定値:" + sb0.getProgress()); sb0.setOnSeekBarChangeListener( new SeekBar.OnSeekBarChangeListener() { public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { // ツマミをドラッグしたときに呼ばれる tv0.setText("設定値:" + sb0.getProgress()); x[0] = String.valueOf(progress); } public void onStartTrackingTouch(SeekBar seekBar) { // ツマミに触れたときに呼ばれる } public void onStopTrackingTouch(SeekBar seekBar) { // ツマミを離したときに呼ばれる } } ); // シークバー1の初期値をTextViewに表示 tv1.setText("設定値:" + sb1.getProgress()); sb1.setOnSeekBarChangeListener( new SeekBar.OnSeekBarChangeListener() { public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { // ツマミをドラッグしたときに呼ばれる tv1.setText("設定値:" + sb1.getProgress()); y[0] = String.valueOf(progress); //これらの数値を足し合わせてみる // tv2.setText("合計値:" + sb1.getProgress());//ここに入れると動く } public void onStartTrackingTouch(SeekBar seekBar) { // ツマミに触れたときに呼ばれる } public void onStopTrackingTouch(SeekBar seekBar) { // ツマミを離したときに呼ばれる } } ); tv2.setText(String.valueOf(Integer.parseInt(x[0])+Integer.parseInt(y[0]))); }
}
///////.xml ソース/////////
<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout 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"
tools:context=".MainActivity">
<TextView android:id="@+id/TextView00" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="55dp" android:text="設定値表示" app:layout_constraintBottom_toTopOf="@+id/SeekBar00" app:layout_constraintStart_toStartOf="parent" /> <SeekBar android:id="@+id/SeekBar01" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="405dp" android:max="100" android:progress="25" app:layout_constraintBottom_toBottomOf="parent" tools:layout_editor_absoluteX="-54dp" /> <TextView android:id="@+id/TextView01" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="41dp" android:text="設定値表示2" app:layout_constraintBottom_toTopOf="@+id/SeekBar01" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" /> <SeekBar android:id="@+id/SeekBar00" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="73dp" android:max="100" android:progress="25" app:layout_constraintBottom_toTopOf="@+id/TextView01" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" /> <TextView android:id="@+id/TextView02" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="240dp" android:text="合計" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toStartOf="parent" />
あなたの回答
tips
プレビュー