2013-10-22 15 views
9

Sau đây là tập tin integers.xml tôi,Cách lấy giá trị Integer từ res/integers.xml?

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <integer name="LOCATION_ALARM_INTERVAL">60000</integer> 
    <integer name="MID_NIGHT_ALARM_INTERVAL">86400000</integer> 
</resources> 

nếu nó là strings.xml, tôi có thể có biến truy cập như dưới đây,

getString(R.string.<variable_name>); 

nhưng làm thế nào tôi có thể làm tương tự để có được giá trị từ tập tin integeres.xml?

khi tôi viết getResources().getInteger(R.integer., nó hiển thị cho tôi 3 biến mà tôi chưa khai báo.

enter image description here

Vì vậy, Làm thế nào tôi có thể truy cập các biến mà tôi khai báo trong integers.xml tập tin?

Trả lời

11

Bạn đang xem số android.R.integer thay vì your.namespace.R.integer.

Eclipse có thể đã nhập sai; đôi khi, điều đó khá khó chịu.

Tới nhập khẩu của bạn ở phía trên cùng của tập tin và loại bỏ: import android.R;

Sau đó, bạn sẽ có thể sử dụng nhanh chóng sửa chữa để thêm việc nhập khẩu chính xác.

+0

Hoàn hảo !!!, Sẽ chấp nhận sau vài phút – Vigbyor

5

Có thể bạn phải xóa sạch dự án của mình một lần trước khi truy cập vào tệp này. Tôi làm như thế và nó luôn hoạt động.

Resources r = getResources(); 
int i = r.getInteger(R.integer.<variable_name>) 

Cố gắng dọn dẹp dự án của bạn và khởi động lại nhật thực vì đây là cách phù hợp để thực hiện.

+0

Nopes, Nó không làm việc – Vigbyor

+0

Thử để thay đổi một số tập tin bố trí và sau đó làm sạch dự án của bạn, tôi đã kiểm tra nó hai lần làm việc của nó ở đây! –

+0

Tôi đã thử những điều đó rồi, nhưng đã xảy ra sự cố khi nhập tệp R.java đúng, hiện đã được giải quyết. 1 cho nỗ lực của bạn thân yêu. – Vigbyor

20

Nó nên được thực hiện như thế này:

Resources res = getResources(); 
int i= res.getInteger(R.integer.int_value); 

nơi int_value là tên biến được đưa ra trong xml của bạn

+0

Nopes, Nó không hoạt động – Vigbyor

+0

làm sạch dự án và cũng kiểm tra việc nhập khẩu trong lớp của bạn, bạn có thể đã có các thuộc tính android.R. Bạn cần phải thay đổi thuộc tính gói của mình – Lavanya

+0

Yup, Đã xảy ra lỗi khi nhập R.java không đúng, +1 cho nỗ lực của bạn – Vigbyor

4

mã đơn giản:

int maximum = getContext().getResources().getInteger(R.integer.maximum); 
Các vấn đề liên quan