First if you want to a Settings activity i suggest you to you Default preferenceActivity. And why do you want to show progress bar. Is it for saving settings. If It is, you don't need to use it. Because saving settings is a very fast.
You already write some thing for saving and reading Settings. You can use it in your listener like you used before.
You can use simple if checks for that
package com.example.myapp;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ProgressBar;
import android.widget.Toast;
public class Settings extends Activity {
CheckBox checkBox_one = null;
CheckBox checkBox_two = null;
CheckBox checkBox_three = null;
CheckBox checkBox_four = null;
CheckBox checkBox_five = null;
ProgressBar progressBar1;
ProgressBar progressBar2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings);
progressBar1 = (ProgressBar) findViewById(R.id.progressBar1);
progressBar2 = (ProgressBar) findViewById(R.id.progressBar2);
checkBox_one = (CheckBox) findViewById(R.id.checkBox1);
checkBox_one.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton view, boolean isChecked) {
updateProgressBars();
}
});
checkBox_two = (CheckBox) findViewById(R.id.checkBox2);
checkBox_two.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton view, boolean isChecked) {
updateProgressBars();
}
});
}
public void updateProgressBars() {
progressBar1.setVisibility(View.INVISIBLE);
progressBar2.setVisibility(View.INVISIBLE);
if (checkBox_one.isChecked() && checkBox_two.isChecked()) {
progressBar2.setVisibility(View.VISIBLE);
} else if (checkBox_one.isChecked()) {
progressBar1.setVisibility(View.VISIBLE);
}
}