2012-08-27 44 views
7

Tôi cần phải chọn ngẫu nhiên một chuỗi được xác định trong tệp strings.xml trong android.Chọn ngẫu nhiên một chuỗi từ strings.xml trong Android

Ví dụ strings.xml của tôi là:

<resources> 
    <string name="str1">Content comes here1</string> 
    <string name="str2">Content comes here2</string> 
    <string name="str3">Content comes here3</string> 
</resources> 

Tôi có thể lựa chọn ngẫu nhiên một trong các chuỗi trong Hoạt động của tôi?

Trả lời

0

Bạn có thể có khả năng làm cho nó trở thành một chuỗi các chuỗi (và sau đó dễ dàng hơn để chọn ngẫu nhiên một trong các mảng). Khác, bạn có thể đặt các id của chuỗi của bạn trong một mảng và chọn ngẫu nhiên một trong các mục trong mảng.

7
  1. Tạo một mảng chứa tất cả các tên tài nguyên của bạn, bạn muốn chọn:

    String[] strs = new String[] {"str1", "str2", "str3"};

  2. Nhận một chỉ số ngẫu nhiên:

    int randomIndex = new Random().nextInt(3);

  3. Nhận chuỗi ngẫu nhiên của bạn từ tài nguyên:

    int resId = getResources().getIdentifier(strs[randomIndex ], "string", your_package_name);

    String randomString = getString(resId);

+2

Vì chuỗi là tài nguyên, bạn có thể thực hiện ** int [] strs = {R.string.str1, R.string.str2, R.string.str3}; ** và sau đó ở bước 3 do ** int resId = strs [randomIndex]; ** –

6

Cách tốt nhất là bạn khai báo bạn Strings như một mảng, sau đó nhận được nó như thế này:

String[] arrayOfStrings = context.getResources().getStringArray(R.array.your_string_array); 
String randomString = arrayOfStrings[new Random().nextInt(arrayOfStrings.length)]; 

Sau đó, bạn có thể sử dụng nó như bạn muốn.

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