운동 일정과 운동 세트가 완료된 사용자를 추적하는 추적 화면이 있습니다. ProgressBar
또는 RatingBar
을 추가하여 내 카운터가 증가하여 진행률/등급이 표시되는 것을 추가하고 싶습니다.RatingBar로 진행 상황 표시하기
5 개의 별 또는 전체 ProgressBar
은 counter2가 300에 도달 할 때가됩니다 (counter2 (운동 세트가 완료 됨)).
내 현재 코드 :
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
a = new AlphaAnimation(1, 0);
a.setDuration(120);
if (savedInstanceState == null) {
counter1 = 0;
counter2 = 0;
}
setContentView(R.layout.tracker);
counter1 = 0;
counter2 = 0;
add1 = (Button) findViewById(R.id.baddday);
sub1 = (Button) findViewById(R.id.bsubday);
add2 = (Button) findViewById(R.id.baddset);
sub2 = (Button) findViewById(R.id.bsubset);
list = (Button) findViewById(R.id.blist);
bar = (ProgressBar) findViewById(R.id.progressBar1);
display1 = (TextView) findViewById(R.id.tvDisplayDays);
display2 = (TextView) findViewById(R.id.tvDisplaySets);
Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/tele.ttf");
display1.setTypeface(tf);
display2.setTypeface(tf);
add1.setOnClickListener(this);
sub1.setOnClickListener(this);
add2.setOnClickListener(this);
sub2.setOnClickListener(this);
list.setOnClickListener(this);
SharedPreferences setting = getSharedPreferences("countersetting", 0);
counter1 = setting.getInt("countervalue1", 0);
counter2 = setting.getInt("countervalue2", 0);
display1.setText("" + counter1);
display2.setText("" + counter2);
bar.setProgress(counter2);
}
@Override
protected void onSaveInstanceState(Bundle savedInstanceState) {
savedInstanceState.putString("YourTextViewTextIdentifier1", display1
.getText().toString());
savedInstanceState.putString("YourTextViewTextIdentifier2", display2
.getText().toString());
savedInstanceState.putInt("int", counter1);
savedInstanceState.putInt("int", counter2);
super.onSaveInstanceState(savedInstanceState);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
display1.setText(savedInstanceState
.getString("YourTextViewTextIdentifier1"));
display2.setText(savedInstanceState
.getString("YourTextViewTextIdentifier2"));
counter1 = savedInstanceState.getInt("int");
counter2 = savedInstanceState.getInt("int");
}
@Override
protected void onStop() {
super.onStop();
SharedPreferences setting = getSharedPreferences("countersetting", 0);
SharedPreferences.Editor editor = setting.edit();
editor.putInt("countervalue1", counter1);
editor.putInt("countervalue2", counter2);
editor.commit();
}
@Override
public void onClick(View view) {
// TODO Auto-generated method stub
switch (view.getId()) {
case R.id.baddday:
counter1 += 1;
display1.setText("" + counter1);
add1.startAnimation(a);
break;
case R.id.bsubday:
counter1 -= 1;
display1.setText("" + counter1);
sub1.startAnimation(a);
break;
case R.id.baddset:
counter2 += 1;
display2.setText("" + counter2);
add2.startAnimation(a);
bar.setProgress(counter2);
bar.setMax(300);
bar.incrementProgressBy(counter2);
bar.getProgress();
break;
case R.id.bsubset:
counter2 -= 1;
display2.setText("" + counter2);
sub2.startAnimation(a);
bar.setProgress(counter2);
bar.incrementProgressBy(counter2);
bar.getProgress();
break;
case R.id.blist:
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Intent i = new Intent(Tracker.this, List.class);
startActivity(i);
}
}, 150);
list.startAnimation(a);
break;
}
}
}
당신은'RatingBar' 클래스로 보았다? http://developer.android.com/reference/android/widget/RatingBar.html 또는 'ProgressBar' 클래스? http://developer.android.com/reference/android/widget/ProgressBar.html –
내가했는데 몇 가지 코드로 도움이 필요하다 : ( – lakyberry
) 프로젝트 (Google 드라이브 또는 무언가)에 연결하면 너의 코드를 봐 –