簡體   English   中英

在android studio中獲取values.xml的大小?

[英]getting the size of values.xml in android studio?

我正在android類中執行任務,並在values文件夾中創建了一個名為“ values.xml”的文件,並在其中放置了一些隨機字符串:

<string name="name1">John</string>
<string name="name2">Jane</string>
<string name="name3">Andre</string>

在我的java文件中,我想獲取一個隨機字符串,但是我希望它基於values.xml的大小

Random random = new Random();
String randomString = getResources().getString(random.nextInt(3));
textView.setText(randomString);

這將創建並獲取一個隨機字符串,但不是

random.nextInt(3);

我希望它獲取values.xml.size(); 或類似的東西。 有什么聰明的方法嗎? 我到處搜尋!

您可以使用反射來獲取XML值文件中的所有字符串:

Field[] fields = R.string.class.getFields();
//fields.length would be the count of all the string in your xml file
int rand = random.nextInt(fields.length)
String randomText = getResources().getString(fields[rand].getName()));

您可以使用元素集:

<string-array name="name_array">
        <item>John</item>
        <item>Jane</item>
        <item>Andre</item>
    </string-array>

您可以使用以下代碼在運行時獲取數組的大小:

int size = getResources().getStringArray(R.array.data_array).length;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM