2012-03-06 36 views
6

Bạn có thể thay đổi giá trị của R.string theo chương trình trong chương trình Android không? Tôi cần phải kéo một số thông tin API (ví dụ như tình trạng pin, tỷ lệ phần trăm pin, phiên bản os android) và muốn lưu nó một giá trị R.string. Tôi biết làm thế nào để đọc nó:Thay đổi giá trị của R.String Lập trình

String helloValue= getResources().getString(R.string.hello); 

Tôi cũng đã xem xét: Change value of R.string programically? nhưng có vẻ như đó chỉ liên quan đến việc thay đổi ngôn ngữ và ông đã kết thúc làm việc đó một cách khác nhau. Bất cứ ai có thể cho mượn một tay không? Tôi cũng nhìn ở đây: http://developer.android.com/guide/topics/resources/string-resource.html và thấy không có gì để giúp đỡ hoặc :(

+1

Các chuỗi trong R được tạo khi biên dịch và không thể sửa đổi theo như tôi biết. Thay vào đó, bạn có thể lưu các chuỗi của mình dưới dạng SharedPreferences: http://developer.android.com/guide/topics/data/data-storage.html#pref – Jave

Trả lời

11

Bạn có thể' t thay đổi strings.xml động vì nó là một tài nguyên được biên dịch. Có các cơ chế khác để lưu dữ liệu trong Android, đây là một bài đăng tuyệt vời bao gồm chủ đề này: Data Storage. Hi vọng điêu nay co ich.

2

Nếu bạn cần phải lưu một lượng nhỏ Chuỗi thông tin mà bạn nên sử dụng SharedPreferences đó là chính xác những gì nó cho :)

0

Có nhiều cách để hoàn thành ý tưởng của bạn. Tuy nhiên, bạn không thể thay đổi tài nguyên String của bạn, (cũng như tài nguyên R.java), hoặc tài nguyên bố cục, ... và bất kỳ tài nguyên nào khác. Bạn có thể làm điều này bằng cách thay đổi tài nguyên thành tài sản. điều này có thể đọc và viết :)

0

Bạn có thể nhận giá trị từ giá trị res/string theo cách này.

String str = getResources().getString(R.string.<name_of_value>); 

Bây giờ bạn có thể tiếp tục sử dụng giá trị này của biến chuỗi (str) này.
Nhưng theo tôi không có cách nào để đặt giá trị của res/string

Các vấn đề liên quan