Android Konstaten in R Klasse

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

09.09.2009, 19:08:12 via Website

Ich würde mal behaupten, dass das ein bislang leerer Konstruktor ist ...

Unter Umständen sind da für zukünftige Dinge bereits Freiräume geschaffen worden ... who knows ..

Jedenfalls würde ich das mal so imterpretieren ..

Andererseits gibts es bspw. folgendes zu finden im Netz:

1TextView text;
2
3 text = (TextView) slideListItemView.findViewById(R.id.slide_number_text);
4
5- text.setText("Slide " + (position + 1));
6
7+ text.setText(mContext.getString(R.string.slide_number, position + 1));
8
9
10
11 SlideModel slide = getItem(position);
12
13 int dur = slide.getDuration() / 1000;
14
15 text = (TextView) slideListItemView.findViewById(R.id.duration_text);
16
17- text.setText(dur + " secs");
18
19+ text.setText(mContext.getResources().
20
21+ getQuantityString(R.plurals.slide_duration, dur, dur));

Man mag sich nun denken was man will ...

lg
Voss

lg Voss

Antworten
Mac Systems
  • Forum-Beiträge: 1.727

10.09.2009, 02:17:14 via Website

Ok, nach ein wenig Studieren anderer Quellen fand Ich noch dies was den Sinn denke Ich besser hervorhebt:


1public static String makeAlbumsLabel(Context context, int numalbums, int numsongs, boolean isUnknown) {
2
3 // There are two formats for the albums/songs information:
4
5 // "N Song(s)" - used for unknown artist/album
6 // "N Album(s)" - used for known albums
7
8
9
10 StringBuilder songs_albums = new StringBuilder();
11
12
13
14 Resources r = context.getResources();
15 if (isUnknown) {
16
17 if (numsongs == 1) {
18
19 songs_albums.append(context.getString(R.string.onesong));
20
21 } else {
22
23 String f = r.getQuantityText(R.plurals.Nsongs, numsongs).toString();
24
25 sFormatBuilder.setLength(0);
26
27 sFormatter.format(f, Integer.valueOf(numsongs));
28
29 songs_albums.append(sFormatBuilder);
30
31 }
32
33 } else {
34
35 String f = r.getQuantityText(R.plurals.Nalbums, numalbums).toString();
36
37 sFormatBuilder.setLength(0);
38
39 sFormatter.format(f, Integer.valueOf(numalbums));
40
41 songs_albums.append(sFormatBuilder);
42
43 songs_albums.append(context.getString(R.string.albumsongseparator));
44
45 }
46
47 return songs_albums.toString();
48
49 }

Quelle: http://android.git.kernel.org/?p=platform/packages/apps/Music.git;a=blob;f=src/com/android/music/MusicUtils.java#l88

Allerdings könnte der Code ein Problem haben, sollte numalbums nicht in den Resources zu finden sein sein ?
Denn :

public CharSequence getQuantityText (int id, int quantity)

Parameters
id The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
Returns

* CharSequence The string data associated with the resource, plus possibly styled text information.

Throws
Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

Resources.NotFoundException ist eine RuntimeException. Man sollte also wohl sehr genau wissen was man da macht!


Nun aber zu eigentlichen Frage ;)

Ich hatte irgendwo schon mal Code gesehen der R genutzt hat in dieser Form:

1textView.setText(R.android.text.filenotfound);


Nur hab Ich gar nicht dran gedacht, das dass SDK selbst eine R Klasse hat, darin finden sich diese Konstanten ja:

http://developer.android.com/reference/android/R.string.html


N8,
mac

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

10.09.2009, 10:35:02 via Website

Hi Mac,

also zurück zur eigentlichen Frage .. was war oder ist denn jetzt die Frage bzgl. der R.android.text.xxx ... :bored:

lg
Voss

lg Voss

Antworten
Mad Trix
  • Forum-Beiträge: 26

10.09.2009, 12:06:31 via Website

Sorry, büssl OT aba grad les ich das Thema auf dem einem Monitor und blinzel in meine IDE rüber, schimpft meine Eclipse Console:

[color=#F80808][2009-09-10 09:35:05 - Notepadv3] R.java was modified manually! Reverting to generated version![/color]

Zur eigentlichen Frage - Übersicht der Konstanten in der Klasse R - kann ich eigentlich auch nix sagen, gibts für Java nicht sowas wie phpDoc (javaDoc glaub ich) wo du die Klasse einfach mal runterrappeln lässt. Dann müsstest das doch alles sehen ;-)

Antworten
Mac Systems
  • Forum-Beiträge: 1.727

10.09.2009, 15:40:35 via Website

Wird schwer das zu erklären :D

Ich war erkältet ;)

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

Antworten