Android 中使用数组资源文件定义数组
原创
©著作权归作者所有:来自51CTO博客作者IT路宇的原创作品,请联系作者获取转载授权,否则将追究法律责任
博主前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住也分享一下给大家,
👉点击跳转到网站
前言:在res/values目录下创建array.xml资源文件
- < array > 子元素 可以定义颜色资源,字符串资源和尺寸资源
- < integer-array >子元素 定义整形数组的 比如十进制的整数(10,20,100)或者十六进制的整数(0xFF5522)
- < string-array > 定义字符串数组
array.xml布局代码如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="list_item">
<item>Android</item>
<item>Java</item>
<item>Kotlin</item>
</string-array>
</resources>
之后定义好的数组在activity_array.xml布局中使用:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ArrayActivity">
<ListView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/list_item"
/>
</LinearLayout>
效果如图所示:

在java文件中使用数组资源:
public class ArrayActivity extends AppCompatActivity {
private static final String TAG = "ArrayActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_array);
String[] array = getResources().getStringArray(R.array.list_item);
Log.e(TAG, "onCreate: "+array.length);
}
}
log日志为:E/ArrayActivity: onCreate: 3