0

ボタンをクリックした後にシークバーがポップアップするカスタムトーストを作りたいです。

カスタムトーストのシークバーは表示されますが、シークバーの進行状況は移動できません。

このように表示されます

ここに画像の説明を入力

コードの場合、これはシークバーのアクティビティです。

 package com.example.froyo2;

import android.app.Activity;
import android.os.Bundle;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;
import android.widget.Toast;

public class BloodpressureActivity extends Activity implements OnSeekBarChangeListener{
    private SeekBar bar; // declare seekbar object variable
    // declare text label objects
    private TextView textProgress,textAction;
    /** Called when the activity is first created. */

public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.bloodpressure);


    bar = (SeekBar)findViewById(R.id.seekBar1);
    bar.setOnSeekBarChangeListener(this);

    textProgress = (TextView) findViewById(R.id.textViewProgress);
    textAction = (TextView) findViewById(R.id.textViewAction);
}

@Override
public void onProgressChanged(SeekBar seekBar, int progress,
        boolean fromUser) {

    // change progress text label with current seekbar value
    textProgress.setText("The value is: "+progress);        
    Toast.makeText(this, "Progress: " +progress, 2500).show();
    // change action text label to changing
    textAction.setText("changing");     
}

@Override
public void onStartTrackingTouch(SeekBar seekBar) {
    // TODO Auto-generated method stub
    textAction.setText("starting to track touch");
}

@Override
public void onStopTrackingTouch(SeekBar seekBar) {
    seekBar.setSecondaryProgress(seekBar.getProgress());
    textAction.setText("ended tracking touch"); 
}
}

これはボタンのリスナーで、ボタンをクリックした後にカスタム トーストが表示されます。

public void onClick(View v){        
    LayoutInflater inflater = getLayoutInflater();
    View layout = inflater.inflate(R.layout.bloodpressure, (ViewGroup) findViewById(R.id.seekBar1));
    Toast toast = new Toast(getApplicationContext());
    toast.setGravity(Gravity.BOTTOM, 0, 0);
    toast.setDuration(Toast.LENGTH_LONG);
    toast.setView(layout);
    toast.show();

}
4

1 に答える 1