注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

星期五

明天不上班

 
 
 

日志

 
 
关于我

一个特立独行的Java程序员,比较宅,上上网,写博客,听音乐,看电影。

网易考拉推荐

Android之ListView使用  

2011-11-15 20:36:09|  分类: Android |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
学习Android ListView 我一直不太明白,但是看了hellogv的博客(http://blog.csdn.net/hellogv/article/details/4542668),我有一种豁然开朗的感觉:
下面引入他的博客   
Android入门第六篇之ListView (一)

“ListView是一个经常用到的控件,ListView里面的每个子项Item可以使一个字符串,也可以是一个组合控件。先说说ListView的实现:

1.准备ListView要显示的数据

2.使用 一维或多维 动态数组 保存数据;

2.构建适配器 简单地来说, 适配器就是 Item数组 动态数组 有多少元素就生成多少个Item;

3.把 适配器 添加到ListView,并显示出来。“


根据他的总结,我具体写了一个简单的例子:
main.xml

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

<ListView android:id="@+id/listView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>

</LinearLayout>

ListViewActivity.java

package com.platform;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;

public class ListViewActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
String[] itemText1s = {"Java", "PHP", "Javascript", "Scala", "Groovy", "Python", "Ruby"};
String[] itemText2s = {"master", "know", "master", "little", "know", "little", "little"};
ListView listView = (ListView)findViewById(R.id.listView);
listView.setAdapter(new ListViewAdapter(itemText1s, itemText2s));

}

public class ListViewAdapter extends BaseAdapter {
View[] itemViews;

public ListViewAdapter(String[] itemText1s, String[] itemText2s) {
itemViews = new View[itemText1s.length];

for (int i = 0; i < itemViews.length; i++) {
itemViews[i] = makeItemView(itemText1s[i], itemText2s[i]);
}
}

public int getCount() {
return itemViews.length;
}

public View getItem(int position) {
return itemViews[position];
}

public long getItemId(int position) {
return position;
}

private View makeItemView(String itemText1, String itemText2) {
LayoutInflater inflater = (LayoutInflater) ListViewActivity.this
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
//add the item layout
View itemView = inflater.inflate(R.layout.item, null);

// find the item content
TextView title = (TextView) itemView.findViewById(R.id.itemText1);
title.setText(itemText1);
TextView text = (TextView) itemView.findViewById(R.id.itemText2);
text.setText(itemText2);

return itemView;
}

public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null)
return itemViews[position];
return convertView;
}
}
}

运行结果

Android之ListView使用 - 星期五 - 星期五
 
 
参考资料:
http://blog.csdn.net/hellogv/article/details/4548659
  评论这张
 
阅读(394)| 评论(0)
推荐

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017