1.简单的单行ListView。

代码很如下:

public class ListViewOne extends ListActivity{String [] str = new String [] {"C","Java","C++","PHP","Python","Perl","Rudy","JavaScript"};    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1,android.R.id.text1,str);        this.setListAdapter(adapter);    }}

 

 2.复杂的双行ListView

代码如下:

public class ListViewTwo extends ListActivity{List> listdata;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);                listdata = getData();        SimpleAdapter adapter = new SimpleAdapter(this, listdata, android.R.layout.simple_list_item_2, new String[]{"name","address"}, new int[]{android.R.id.text1,android.R.id.text2});        this.setListAdapter(adapter);    }    public List> getData(){    List> list = new ArrayList>();    Map map1 = new HashMap();    map1.put("name", "张三同学");    map1.put("address", "学生1");        Map map2 = new HashMap();    map2.put("name", "李四同学");    map2.put("address", "学生2");        Map map3 = new HashMap();    map3.put("name", "王五同学");    map3.put("address", "学生3");        list.add(map1);    list.add(map2);    list.add(map3);    return list;    }}

 

3.下面是自定义布局的ListView,并加上了改变了标题栏的样式

 

代码是这样的:

1.布局文件:

        

2.ListView的布局:

<?xml version="1.0" encoding="utf-8"?>                                                            


3.Activity的代码:

public class MainActivity extends Activity {List> listdata;ListView listView;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);                listView = (ListView) findViewById(R.id.mylistview);        listView.setAdapter(new ImageAdapter(this));                        View view = this.findViewById(android.R.id.title);        ((TextView)view).setTextColor(Color.YELLOW);              //设置标题栏的文字颜色                    }    public List> getData(){    List> list = new ArrayList>();    Map map1 = new HashMap();    map1.put("name", "张三同学");    map1.put("address", "学生1");        Map map2 = new HashMap();    map2.put("name", "李四同学");    map2.put("address", "学生2");        Map map3 = new HashMap();    map3.put("name", "王五同学");    map3.put("address", "学生3");        list.add(map1);    list.add(map2);    list.add(map3);    return list;    }        private class ImageAdapter extends BaseAdapter{    Context context;        String [] str = new String[]{"第一张","第二张","第三张","第四张","第五张"};    String [] time = new String[]{"一分钟前","二分钟前","三分钟前","四分钟前","五分钟前"};    String [] content = new String[]{"心情愉快","心情郁闷","嘻嘻","哈哈","嘿嘿,你好啊,好看不啊"};    int [] imageid = new int[]{R.drawable.image1,R.drawable.image2,R.drawable.image3,R.drawable.image4,R.drawable.image5};    public ImageAdapter(Context context) {    this.context = context;}        //返回图片的个数@Overridepublic int getCount() {return str.length;}@Overridepublic Object getItem(int position) {return str[position];}@Overridepublic long getItemId(int position) {return position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {ViewHolder holder;if(convertView == null){//View的findViewById()方法也是比较耗时的,因此需要考虑中调用一次,之后用//View的getTag()来获取这个ViewHolder对象holder = new ViewHolder();convertView = View.inflate(context, R.layout.mylistview, null);holder.imageButton = (ImageButton) convertView.findViewById(R.id.myimagebutton);holder.username = (TextView) convertView.findViewById(R.id.username);holder.time = (TextView) convertView.findViewById(R.id.time);holder.content = (TextView) convertView.findViewById(R.id.content);convertView.setTag(holder);}else {holder = (ViewHolder) convertView.getTag();}holder.imageButton.setImageResource(imageid[position]);holder.username.setText(str[position]);holder.time.setText(time[position]);holder.content.setText(content[position]);return convertView;}    }        //增加这样一个静态类,缓存一下,这样不用每次都重新加载    final class ViewHolder{    public ImageButton imageButton;    public TextView username;    public TextView time;    public TextView content;    }}


注意改变标题栏的样式的时候,要在你项目的styles.xml,加上:

      

并在AndroidManifest.xml文件里面加上你改变的标题栏的样式:

android:label="@string/title_activity_main"

ok,就这些了。


android:label="@string/title_activity_main"


 


<?xml version="1.0" encoding="utf-8"?>                                                            


 

 

 

更多相关文章

  1. android EditText设置不可写
  2. android 使用html5作布局文件: webview跟javascript交互
  3. android studio调试c/c++代码
  4. IM-A820L限制GSM,WCDMA上网的原理(其他泛泰机型可参考)7.13
  5. 锁屏界面
  6. android(NDK+JNI)---Eclipse+CDT+gdb调试android ndk程序
  7. Android(安卓)version and Linux Kernel version
  8. Android(安卓)闹钟管理类的使用
  9. Android学习篇之Menu的使用

随机推荐

  1. Android + Eclipse + NDK + cygwin配制
  2. android 属性汇总
  3. Android(安卓)设置Dalog大小
  4. 在 android 上运行 python 的方法
  5. Android touch事件一种解释
  6. Android开发基础-系统结构
  7. Android百度地图开发(一)环境搭建
  8. 界面编程之基本界面组件(7)ImageView(图像视
  9. Android横竖屏切换实例总结
  10. 断网使用RycyclerView的jar包,运行时报错