android_listView一些简单用法(动态)

刚学Android的时候,ListView和ArrayAdapter困扰了我将近两个礼拜的时间,现在自学了两个多月,明白了一些,安卓的大体架构,app的生成有一个差不多的思路,自己跟着书做完了一个项目,留个纪念。这是我的第一篇文章,讲的都是大白话,希望在不久的以后也能成为你们一样的大神级人物,教课写书,也同时鼓励年龄稍大的像我一样快30岁了才学的java(培训班的老师很水,项目都没带,三大框架只讲了三天就完事了,全靠自学…),奋斗吧,为了以后结婚生子给老婆孩子吃好的穿好的,现在孩子补课费太贵了,话有点说太多了哈哈,开始吧我的第一篇,后续会更新listView,现在在上班呢不能码太多。
listView:列表视图,全都是列表,一横格一横格的
Adapter:适配器,用来把数据呈现给你的电脑屏幕(有点太白话了),就好比一个媒婆,就是个中介!没有它的话,俩个事物压根就没联系!

1,创建项目安卓List
2,在res目录中新建list_countries.xml的布局文件。

Step1:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <ListView 
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>


</LinearLayout>
    这里给listView设置id,id好比这个控件的名片一样,每个空间都不同,方便以后代码中动态的调用。让列表中的每一项的宽都充满父组件,高度包含内容就行。

3,在MainActivity中修改代码

package com.example.list;


import android.os.Bundle;
import android.app.Activity;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class MainActivity extends Activity{

    String countries[] = {"中国","日本区","朝鲜","哥伦比亚","摩洛哥","老挝","泰国","柬埔寨","越南省","印度","缅甸","土耳其","沙特","伊朗","哈萨克斯坦","多哥","韩国县","印度尼西亚省"};
    ArrayAdapter<String> adapter; // 创建适配器对象
    ListView listView1; // 创建列表视图对象,为了寻找上面那个id是listView1的

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.list_countries);

        //寻找id值是listView1,别忘了强制转换
        listView1 = (ListView) findViewById(R.id.listView1);
        //设置适配器列表和视图之间的关联
        adapter = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1,countries);
        //这就关联起来了
        listView1.setAdapter(adapter);
    }

}
在这里要注意的就是new ArrayAdapter<String>(1,2,3)中的三个参数了,
    1是当前上下文的对象,用this即可;
    2是列表的样式,这里采用android系统中自带的样式,样式有很多种,这些都是原生的样式,在sdk目录下flatforms/android-xx/data/res/layout目录,下面的内容写一下怎么去自定义listView布局;
    3是把数组添加进来就可以了。

把之前的小总结一下:
第一步:创建listView布局,设置listVIew的id
第二部:在Activity中三步大法
1,listView寻找id
2,适配器装入那三个参数
3,将listView和Arradapter关联起来,listView.setArrayAdapter(adpater);

Step2:
看起来不是有点太普通了是吧!这回改变一下listView的界面,改变一下文字大小,颜色,组件高度。
在res目录中创建list_view1_style.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >


        <TextView
            android:id="@+id/textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="#ff33ee"
            android:textSize="24sp" />

</LinearLayout>

这里的TextView的所有样式都是为listView中添加的,其实LinearLayout都可以换成TextView。

修改MainActivity中的代码:

package com.example.list;


import android.os.Bundle;
import android.app.Activity;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class MainActivity extends Activity{

    String countries[] = {"中国","日本区","朝鲜","哥伦比亚","摩洛哥","老挝","泰国","柬埔寨","越南省","印度","缅甸","土耳其","沙特","伊朗","哈萨克斯坦","多哥","韩国县","印度尼西亚省"};
    ArrayAdapter<String> adapter;
    ListView listView1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.list_countries);

        listView1 = (ListView) findViewById(R.id.listView1);
        //请注意修改的代码在这里!!!只有这里做了修改
        adapter = new ArrayAdapter<String>(this, R.layout.list_view1_style, R.id.textView, countries);
        listView1.setAdapter(adapter);
    }

}

ArrayAdatper中的四个参数:
1,this不多说了
2,用到了哪个布局文件
3,使用哪个样式的TextView
4,数组对象

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值