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();
}
}
}