У меня есть ProgressBar.
Это работает нормально, но мне нужно показать максимальное значение и текущее значение.
Их там нет.
Нужно ли мне переходить на ProgressDialog?
Пояснение:
Я показываю ProgressBar.
Бар подходит идеально, но я хочу, чтобы цифры тоже появлялись.
Так, например, если максимальное значение равно 1000, текущая точка равна 300, тогда я хочу, чтобы появилось 1000, а конец бара и 300 появятся где-нибудь на баре или чуть ниже него.
Я использую этот класс в качестве адаптера списка для заполнения ListView.
Отображаемая строка зависит от типа данных в массиве «Награды».
При выполнении ProgressBar он отображается без цифр.
Код:
private class AwardsAdapter extends ArrayAdapter <AwardItem>{
private ArrayList<AwardItem> awards = new ArrayList<AwardItem>();
public AwardsAdapter(Context context, int textViewResourceId, ArrayList<AwardItem> awards) {
super(context, textViewResourceId,awards);
this.awards = awards;
// TODO Auto-generated constructor stub
}
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)AwardsActivity.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.awards_row, parent, false);
}
AwardItem award = awards.get(position);
ProgressBar pb = (ProgressBar) v.findViewById(R.id.pgbAwardProgress);
if(award.award_type == PROGRESSIVE) {
pb.setVisibility(View.VISIBLE);
pb.setMax(award.requirement);
pb.setProgress(award.current_amount);
pb.setIndeterminate(false);
} else {
pb.setVisibility(View.GONE);
}
((TextView) v.findViewById(R.id.tvwShortMessage)).
setText(MessageBuilder.buildMessage(AwardsActivity.this, award.award_text,
Integer.valueOf(award.requirement).toString()));
return v;
}
}
Компоновка
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView android:id="@+id/tvwShortMessage"
android:typeface="sans"
android:textSize="14sp"
android:textStyle="italic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView android:id="@+id/tvwLongMessage"
android:typeface="sans"
android:textSize="14sp"
android:textStyle="italic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/tvwShortMessage"/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="15dp"
android:layout_below="@id/tvwLongMessage">
<ProgressBar
android:id="@+id/pgbAwardProgress"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleHorizontal"
android:layout_marginRight="5dp"
android:layout_marginTop="5dp"
android:layout_marginBottom="15dp"
android:layout_alignParentTop="true"/>
</LinearLayout>
</RelativeLayout>
Это последний экран.
Это список из серии задач и их прогресс на данный момент.
Каждая «строка» - это отдельный индикатор выполнения.