zoukankan      html  css  js  c++  java
  • Android中的ListView(高级控件Widget)

    Android中的四大组件:Activity----活动

               BroadCastReceiver-----广播接收器

               Service------服务

               ContentProvider----内容提供器

    这里来介绍一下Activity中的listview:列表视图。通过这个控件用户可以与列表互动,互动就会有事件的触发,这个控件就是用户想要通过点击列表中的任意条目有事件的反馈,就要通过注册OnItemClickListener来监听这一类事件。

    加载listview有两种方法:第一种是继承Activity,自己实现ListView的标记(id),第二种:是继承ListActicity,系统实现ListView标记(id),然而通过这两种方式时,都要通过Adapter(适配器)来设置显示列表的内容。adapter也可以是一个简单数组ArrayAdapter,也可以是游标(simpleCursorAdapter),还可以采用继承BaseAdaptger来自定义Adapter绑定数据。

    //新建一个布局文件(music_layout.xml),采用线性布局,增加一个ListView控件

    //新建一个MusicActivity,她继承于Activity,重写Oncreat()方法来初始化music_layout.xml布局

    //通过ArrayAdapter来绑定数据,并注册onItemClickListener监听

    music_layout.xml的代码:

    只写一个控件ListView

    <ListView

      android:id="@+id/music_list"

      android:layout_width="fill_parent"

      android:layout_height="wrap_content"

    />

    MusicActivity里面的代码:

    /**

    *采用继承Activity来演示Listview控件的使用

    *@author Catherine

    *

    */

    public class MusicActivityy extends Activity{

    /*定义一个ListView成员变量来接收ListView的对象*/

    private  ListView  mListView;

    //初始化列表显示的内容

    String [] listdatas={"From sarah with love ","Image me without you","far away from home"};

    @Override

    protected void onCreate(Bundle savedInstanceState){

    super.onCreate(savedInstanceState);

    setContentView(R.layout.music_layout);

    mListView=(ListView)findviewByid(R.id.music_list);

    setTitle("ListView实例演示');

    //调用方法

    initData();

    }

    private void intiData(){

    //实例化一个数组Adapter,三个参数,this

    //表示需要当前引用上下文,第二个参数列表条目表示显示的布局,这里我们调用了系统自带的布局,第三个参数,绑定显示的数据,传入数组

    ArrayAdapter<String> arrays =new  ArrayAdapter<String>(this,android.R.Layout.Simple_List_item_1,listDatas);

    //调用ListView控件的setAdapter方法绑定adapter

    mListView.setAdapter(arrays);

    //注册条目单机事件

    mListView.setOnItemClickListener(onItemClickListener);

    }

    //通过局部类来实例化单机事件条目的监听器

    OnItemClickListener onItemClickListener=new OnItemClickListener(){

    @Override

    public void onItemClickListener(AdapterView<?> adapter,View v,int position,long id)

    {

    //这里的adapter是绑定的那个adapter,v是条目显示的view,position,v对应的位置,id:条目的id

    //通过Toast来显示响应列表条目的单机事件

    Toast.makeText(MusicActivity.this,"onItemClick点击位置是"+position,Toast.LENGTH_SHORT).show();

    }

    }

    }

    一切只是为了充实自己!!stay hungry and stay foolish!!
  • 相关阅读:
    Mac item 远程连接服务器
    搭建私人Git Server
    数据结构第三章小结
    第二章实践小结
    poj3617 Best Cow Line
    最长上升子序列问题
    Uva11450 Wedding shopping
    poj3050 hopscotch
    poj2718 Smallest Difference
    poj3669 Meteor Shower
  • 原文地址:https://www.cnblogs.com/Catherine-Brain/p/3153996.html
Copyright © 2011-2022 走看看