ListActivity

来源:互联网 发布:mac如何设置用户名 编辑:程序博客网 时间:2024/05/01 08:55

一个应用程序,用户眼睛看到的都是有Activity来呈现的,查看API我们知道Activity有以下几个子类:AccountAuthenticatorActivity,ActivityGroup,AliasActivity,ExpandableListActivity, FragmentActivity, ListActivity, NativeActivity,这一堆子类都是在Activity的基础上进行了一下改进,方便使用而已,例如比较常用的就是ListActivity,简单的说它就是ListView和Activity的结合,当一个Activity上面显示的内容都是一条一条的话,就可以使用ListActivity了。

一、下面先看一下ListActivity的一个实例

代码1:

import java.util.ArrayList;import java.util.List;import android.app.ListActivity;import android.os.Bundle;import android.widget.ArrayAdapter;public class Test1 extends ListActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//setContentView(R.layout.activity_test1);List<String> list = new ArrayList<String>();list.add("aaaaa");list.add("bbbbb");list.add("ccccc");list.add("ddddd");ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, list);setListAdapter(adapter);}}
前面说了,ListActivity可以理解为Activity和ListView的结合,所以上面的代码中可以不要setContentView这一句,也可以改成下面的这样执行效果一样

代码2:

import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.os.Bundle;import android.widget.ArrayAdapter;import android.widget.ListView;public class Test2 extends Activity {private ListView listView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main2);listView = (ListView) findViewById(R.id.listView1);List<String> list = new ArrayList<String>();list.add("aaaaa");list.add("bbbbb");list.add("ccccc");list.add("ddddd");ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, list);listView.setAdapter(adapter);}}

当然,还需要在布局文件中添加一个id为listView1的ListView组件,执行效果如下:


当然第一段代码中的setContentView这一句也可以要,如果要的话,在布局文件中ListView组件自然不可少的,但是在设置id的时候就不能像其他普通组件一样使用@+id了,应该使用@id,而且除了ListView控件,还能在不居中加入其它的控件,看下面的代码。

代码3:

import java.util.ArrayList;import java.util.List;import android.app.ListActivity;import android.os.Bundle;import android.widget.ArrayAdapter;public class Test3 extends ListActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.test3);List<String> list = new ArrayList<String>();list.add("aaaa");list.add("bbbb");list.add("cccc");list.add("dddd");ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_expandable_list_item_1, list);setListAdapter(adapter);}}

0 0
原创粉丝点击