ListView用于展示大量数据,而数据无法直接传递给ListView,需要借助适配器adapter来完成.
ArrayAdapter是最常用的adapter,可以通过泛型来指定要适配的数据类型.
ArrayAdapter的参数如下:
android.widget.ArrayAdapter.ArrayAdapter<String>(Context context, int textViewResourceId, String[] objects)
构造函数的参数解析如下:
Context context:当前的上下文环境;
int textViewResourceId :指定布局文件中包含的TextView资源的ID,常用的有android.R.layout.simple_list_item_1,
android.R.layout.simple_list_item_1是一个android内置的布局文件,只有一个TextView,用于简单显示文本;
String[] objects:要显示的文本
ListView示例如下:
(该例子摘自《第一行代码》)
android_main.xml代码如下:
<ListView android:id="@+id/list_view" android:layout_width="match_parent" android:layout_height="match_parent" > </ListView>
因为ListView需要占据整个布局,所以选择了match_parent
MainActivity.java代码如下:
public class MainActivity extends Activity { private String[] data={"Apple", "Banana", "Orange", "Watermelon", "Pear", "Grape", "Pineapple", "Strawberry", "Cherry", "Mango"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //新建数组适配器 ArrayAdapter<String> adapter=new ArrayAdapter<String> (MainActivity.this , android.R.layout.simple_list_item_1 , data); //加载列表视图 ListView listView=(ListView)findViewById(R.id.list_view); //将构建好的适配器对象传递进去,建立ListView和数据之间的关联 listView.setAdapter(adapter); } }
运行效果如下示:
时间: 2024-10-28 20:14:02