查询有关arrayadapter的信息

时间:2012-07-11 17:27:01

标签: android

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;类。

谢谢。

2 个答案:

答案 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工具包。