Wie kommt man an AM/PM über den TimePickerDialog ran ?

  • Antworten:9
Mac Systems
  • Forum-Beiträge: 1.727

01.02.2010, 04:08:46 via Website

Die AM/ PM Angaben würde Ich gerne in einem TextView mit Anzeigen, nur habe Ich keine Ahnung wie ich da ran kommen soll:

1final Button view = (Button) findViewById(_list.get(i));
2 view.setOnClickListener(new View.OnClickListener()
3 {
4
5 @Override
6 public final void onClick(final View _v)
7 {
8 final TimePickerDialog.OnTimeSetListener listener = new TimePickerDialog.OnTimeSetListener()
9 {
10 public final void onTimeSet(final TimePicker _view, final int _hourOfDay, final int _minute)
11 {
12 final TextView timeView = (TextView) findViewById(_timeTextViews.get(index));
13 final StringBuilder builder = new StringBuilder().append(_hourOfDay).append(":");
14 builder.append(_minute < 10 ? "0" + _minute : _minute);
15 timeView.setText(builder);
16 }
17 };
18
19 final TimePickerDialog dialog = new TimePickerDialog(ScheduleActivity.this, listener, 12, 0, false);
20 dialog.show();
21 }
22 });

Nicht alle Zeitzonen kenne auch wiederum AM/PM, gibt es da Infos zu wie das zu handhaben ist unter Android ?
Weiß jemand wie da die Angaben drankomme, mir geht es hier lediglich um die Darstellung auf der TextView ?

mfg,
Jens

— geändert am 01.02.2010, 05:45:18

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

Antworten
Gelöschter Account
  • Forum-Beiträge: 5.136

01.02.2010, 07:34:09 via Website

Bei einer AM/PM = True Anzeige hast Du eben nur 12 Stunden im Time Picker zur Verfügung. Ansonsten 24 Stunden. Das ist der visuelle Unterschied zwischen den Dingern.

lg Voss

Antworten
Mac Systems
  • Forum-Beiträge: 1.727

01.02.2010, 15:44:29 via Website

Das ist mir klar, nur wie komme ich da ran ? Meinetwegen liefert die View bei 24h Mode einen leer-String oder dergleichen, nur wäre es schön diesen zu bekommen.

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

Antworten
Gelöschter Account
  • Forum-Beiträge: 5.136

01.02.2010, 17:59:58 via Website

Ich weiß nicht WO oder an WAS Du herankommen willst. Du generierst einen TimepickerDialog, der liefert Dir einen Timestring zurück .. entweder im 12 Stunden Format oder im 24 Stunden Format, je nach dem ob Du ihn als 12 oder 24 Stunden Version generiert hast.

Du bekommst also entweder 13:00:00 oder 01:00:00

Was benötigst Du denn noch?

lg Voss

Antworten
Matthias La Schmu
  • Forum-Beiträge: 158

02.02.2010, 10:23:19 via Website

Jörg Voss
Ich weiß nicht WO oder an WAS Du herankommen willst. Du generierst einen TimepickerDialog, der liefert Dir einen Timestring zurück .. entweder im 12 Stunden Format oder im 24 Stunden Format, je nach dem ob Du ihn als 12 oder 24 Stunden Version generiert hast.

Du bekommst also entweder 13:00:00 oder 01:00:00

Was benötigst Du denn noch?

Ohne die Klasse zu kännen, wäre die Info ob 01:00:00 AM oder PM schon recht existenziell, oder nicht? Daher sollte man schon rausfinden ob es AM oder PM ist. :-D

lg, La Schmu

Antworten
San Blarnoi
  • Forum-Beiträge: 2.545

02.02.2010, 11:24:17 via Website

@Markus: und wenn das false liefert, was ist "1" dann? AM oder PM?
Das wird genau Macs Problem sein.

@Mac:
Man beachte die Formulierung in der Doku:
TimePickerDialog(Context context, TimePickerDialog.OnTimeSetListener callBack, int hourOfDay, int minute, boolean is24HourView)
und
public abstract void onTimeSet (TimePicker view, int hourOfDay, int minute)

Da gehen aso immer 24H Werte rein und raus, du mußt also nix interpretieren und kannst sowohl die Darstellung im Dialog als auch deine eigene selber bestimmen.

@Jörg: das war auch der Grund für deine Verwirrung, oder? :-)

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

02.02.2010, 11:27:07 via Website

and dev
@Markus: und wenn das false liefert, was ist "1" dann? AM oder PM?
Das wird genau Macs Problem sein.



achso ja stimmt natürlich, das bringt ihm ja gar nichts. sorry - falsch gedacht

aber eigentlich müsste der immer die gleichen werte schlucken, nur die anzeigen wird anders gemacht. das sollte ja für den entwickler egal sein dann

— geändert am 02.02.2010, 11:28:03

swordiApps Blog - Website

Antworten
Gelöschter Account
  • Forum-Beiträge: 5.136

02.02.2010, 12:47:57 via Website

and dev


@Jörg: das war auch der Grund für deine Verwirrung, oder? :-)

Jo eh ... :) Manchmal is man schon wie verbohrt ... ich hab den Dialog selber auch noch nie genutzt ... man denkt definitiv am eigentlichen Problem vorbei.

— geändert am 02.02.2010, 12:48:15

lg Voss

Antworten
Mac Systems
  • Forum-Beiträge: 1.727

02.02.2010, 13:26:05 via Website

aber eigentlich müsste der immer die gleichen werte schlucken, nur die anzeigen wird anders gemacht. das sollte ja für den Entwickler egal sein dann

Darum geht es an sich auch, jetzt aber fest in den Code "AM" und "PM" als String Konstanten zu hacken ist mir zu wider, und Ich dachte Ich komme an die String so ran.
Dem scheint aber wirklich nicht so zu sein, Ich weiß zwar nicht ob es in anderen Zeitzonen andere Werte gibt die dort stehen würden, aber so wäre es generisch.

- Mac

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

Antworten