カスタムAlertDialogでSeekBarを使用しようとしていますが、ボタンをクリックするとクラッシュします。 カスタムAlertDialogには、idが "seekProgress"のTextViewとidが "seekBar1"のSeekBarのみがあります。 "seekBar.setOnSeekBarChangeListener ..."を削除するとクラッシュしませんが、移動すると何も起こりません。カスタムAlertDialog(Android)にSeekBarを挿入します。
メインアクティビティには、onClick = "myMethod"というボタンがあり、そこで私はAlertDialogを作成します。このメソッドのコードは次のとおりです。
public void myMethod(View view){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
LayoutInflater inflater = this.getLayoutInflater();
builder.setView(inflater.inflate(R.layout.dialog_exchange_money_farmers, null));
SeekBar seekBar = (SeekBar) findViewById(R.id.seekBar1);
seekProgress = (TextView) findViewById(R.id.seekProgress);
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
int progressValue;
TextView seekProgress = (TextView) findViewById(R.id.seekProgress);
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
progressValue = progress;
seekProgress.setText("Covered: " + progress + "/" + seekBar.getMax());
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
seekProgress.setText("Covered: " + progressValue + "/" + seekBar.getMax());
}
});
AlertDialog alertDialog = builder.create();
alertDialog.show();
}
SeekBar Listenerを機能させるにはどうすればよいですか?
EDIT: によって引き起こさ:java.lang.NullPointerExceptionが:私はこのエラーを取得するデバッグする場合、仮想メソッド呼び出ししようと「無効android.widget.SeekBar.setOnSeekBarChangeListener(android.widget.SeekBar $ OnSeekBarChangeListener)」を上nullオブジェクトリファレンス
私はSeekBar seekBar = (SeekBar) findViewById(R.id.seekBar1);
を持っていますそれはなぜそれがヌルだと言いますか?
解決策: どのレイアウトがアイテムであるかを彼に伝えなければなりませんでした。
View testView = inflater.inflate(R.layout.dialog_exchange_money_farmers, null);
builder.setView(testView);
seekBar = (SeekBar) testView.findViewById(R.id.seekBar1);
seekProgress = (TextView) testView.findViewById(R.id.seekProgress);
は、私はそれが主な活動で動作させることができますが、それはあなたがlogcatを得た場合 – Laur89
は、「doesnのまだ –