ArrayAdapter<String> arrayadapter=new
ArrayAdapter<string>(Sipnner_apActivity.this,android.R.layout.simple_spinner_item,arrarylist);
此处android.R.layout.simple_spinner_item
的含义是什么?为什么Arrayadapter
类属于widget
类&amp;为什么不属于&#34; util&#34;类。
答案 0 :(得分:0)
R代表“资源”。 Android在android.R。*命名空间中内置了资源,您的应用程序在your_app_namespace.R。*命名空间中有资源。
为什么要使用资源有很多原因,但其中一个原因是支持多种语言和屏幕尺寸。
例如,对于某个活动,您可能有一个名为“helloworld.xml”的布局。 Eclipse将为your_app_namespace.R.layout.helloworld生成一个常量值。
此helloworld.xml布局文件将位于res / layout文件夹中。但是,如果您希望helloworld.xml在平板电脑上安装应用程序时看起来不同,则可以将另一个helloworld.xml副本放在名为layout-large的文件夹中。它将自动选择要使用的helloworld.xml。
要回答您的问题, android.R.layout.simple_spinner_item 是Android默认设置的布局。它被使用,因此如果你需要的只是简单的东西,你不必为微调器项创建自己的布局。
ArrayAdapter不是util命名空间的一部分,因为它主要用于小部件。
答案 1 :(得分:0)
这就是android.R.layout.simple_spinner_item的样子:
<?xml version="1.0" encoding="utf-8"?>
<!--
/* //device/apps/common/assets/res/any/layout/simple_spinner_item.xml
**
** Copyright 2006, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
** http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
-->
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerItemStyle"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee" />
它基本上是一个模板,完全是一个TextView小部件,你的arraylist元素将绑定到它。
一般来说,Adapters是android ui工具包中的数据源和UI组件之间的接口,适配器用于将数据提供给ui工具包。