プレイヤーがゲームで受け取った「賞」を表示するリストビューを作成したい。異なるフォーマットのエントリでリストビューを表示
テキスト+アイコンでリストビューを表示する方法はたくさんあります。 しかし私の場合、アイコンを変更する必要があります。
賞は1回限りの成果で与えられます。その場合は、テキストと「トロフィー」を表示するだけです。 それ以外の場合は、指定された回数何かをしたことで授与されます。 その場合、私は進行状況バーを含める必要があります。
1つのリストビュー内でさまざまなレイアウトを実行するにはどうすればよいですか?
更新:それは(一種の)働いているLeythsする
感謝。 ProgressBarが表示されていないということです。スピンナーだけです。
これが行です:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<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"/>
<ProgressBar
android:id="@+id/pgbAwardProgress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@android:style/Widget.ProgressBar.Small"
android:layout_marginRight="5dp"
android:layout_below="@id/tvwLongMessage"/>
</RelativeLayout>
コード:
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);
} 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;
}
私は実際には反対したい - スピナーのないバー。
この問題は、これが表示されている特別な方法、またはプログレスバーに何か問題がありますか?
結果の画面:
非常に混乱....ワイヤーフレームや、あなたの問題のいずれかのスケッチを提供しています。理解する方が良いでしょう。 –
進行状況バーをイメージとして表示する場合は、xmlにイメージとTextViewが含まれ、各listitemの要件に従って画像を変更することができます。しかし、プログレスバーを実際に意味する場合、実装するのは本当に難しい。 – Hiral