80,352
社区成员
发帖
与我相关
我的任务
分享
public class ListTest extends Activity {
private ListView lv;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
lv = (ListView)findViewById(R.id.list);
//创建新线程用来显示列表
HandlerThread handlerThread = new HandlerThread("hthread_readcontact");
handlerThread.start(); //异步启动线程
//创建Handler
MyHandler myHandler = new MyHandler(handlerThread.getLooper());
//创建消息对象
Message msg = myHandler.obtainMessage();
//取出消息并执行
msg.sendToTarget();
}
//循环增加100个列表项
protected void AddListItem(){
List<PeopleInfo> myList = new ArrayList<PeopleInfo>();
MyAdapter ca = new MyAdapter(ListTest.this,myList);
//ca.setNotifyOnChange(true);
lv.setAdapter(ca);
for(int i=1;i<=100;i++){
//增加记录
PeopleInfo pe = new PeopleInfo();
pe.setPeoleName("Fucker"+Integer.toString(i));
pe.setPeopleNum(Integer.toString(i));
System.out.println("i:"+Integer.toString(i));
System.out.println("PeopleInfo-->Name:"+pe.peopleName);
System.out.println("PeopleInfo-->Num :"+pe.peopleNum);
ca.add(pe);
SystemClock.sleep(50L); //为了看到效果,故意增加一个延迟
}
ca.notifyDataSetChanged();
}
class MyHandler extends Handler{
public MyHandler(){
}
public MyHandler(Looper looper){
super(looper);
}
@Override
public void handleMessage(Message msg) {
AddListItem();
System.out.println("Thread is runed!");
}
}
}
public class MyAdapter extends ArrayAdapter<PeopleInfo> {
private LayoutInflater inflater;
List<PeopleInfo> itemList;
private static final int mResource = R.layout.contact_list; //xml布局文件
public MyAdapter(Context context,List<PeopleInfo> objects) {
super(context, mResource, objects);
// TODO Auto-generated constructor stub
inflater = LayoutInflater.from(context);
itemList = objects;
}
@Override
public void add(PeopleInfo object) {
// TODO Auto-generated method stub
super.add(object);
//itemList.add(object);
}
@Override
public void setNotifyOnChange(boolean notifyOnChange) {
// TODO Auto-generated method stub
super.setNotifyOnChange(notifyOnChange);
}
@Override
public Filter getFilter() {
// TODO Auto-generated method stub
return super.getFilter();
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder holder;
holder = new ViewHolder();
if(convertView == null){
convertView = inflater.inflate(R.layout.contact_list, null);
//convertView = inflater.inflate(R.layout.listitem, null);
holder.PhoneName = (TextView)convertView.findViewById(R.id.mname);
holder.PhoneNum = (TextView)convertView.findViewById(R.id.msisdn);
convertView.setTag(holder);
holder.PhoneName.setText(itemList.get(position).getPeopleName());
holder.PhoneNum.setText(itemList.get(position).getPeopleNum());
}
return convertView;
}
class ViewHolder{
TextView PhoneName;
TextView PhoneNum;
}
}
public class PeopleInfo implements Serializable {
public String peopleName;
public String peopleNum;
public String getPeopleName(){
return peopleName;
}
public void setPeoleName(String peopleName){
this.peopleName=peopleName;
}
public String getPeopleNum(){
return peopleNum;
}
public void setPeopleNum(String peopleNum){
this.peopleNum = peopleNum;
}
}
public class ListTest extends Activity {
private ListView mListView;
Handler mHandler = new Handler();
List<PeopleInfo> mList = null;
MyAdapter mAdapter = null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mListView = (ListView)findViewById(R.id.list);
mList = new ArrayList<PeopleInfo>();
mAdapter = new MyAdapter(ListTest.this, mList);
mListView.setAdapter(mAdapter);
new Thread(new Runnable() {
public void run() {
while (true) {
mHandler.post(new Runnable() {
public void run() {
AddListItem();
}
});
try {
Thread.sleep(500);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}).start();
}
// 循环增加100个列表项
protected void AddListItem() {
// 增加记录
PeopleInfo pe = new PeopleInfo();
int number = (int)(Math.random() * 1000);
pe.setPeoleName("Haha " + Integer.toString(number));
pe.setPeopleNum(Integer.toString(number));
System.out.println("i:" + Integer.toString(number));
System.out.println("PeopleInfo-->Name:" + pe.peopleName);
System.out.println("PeopleInfo-->Num :" + pe.peopleNum);
mAdapter.add(pe);
// SystemClock.sleep(1000); // 为了看到效果,故意增加一个延迟
mAdapter.notifyDataSetChanged();
}
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ArrayAdapter<String> ad = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, new Vector<String>());
mlv = new ListView(this);
mlv.setAdapter(ad);
setContentView(mlv);
mh = new Handler();
new Thread() {
@Override
public void run() {
// TODO Auto-generated method stub
for (int i = 0; i < 5; ++i) {
First_Android.this.mh.post(new Runnable() {
public void run() {
// TODO Auto-generated method stub
int n = new Random().nextInt();
@SuppressWarnings("unchecked")
ArrayAdapter<String> ad = (ArrayAdapter<String>) First_Android.this.mlv.getAdapter();
ad.add(Integer.toString(n));
ad.notifyDataSetChanged();
}
});
try {
sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}.start();
private ListView mListView;
Handler mHandler = new Handler();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mListView = (ListView)findViewById(R.id.list);
new Thread(new Runnable() {
public void run() {
mHandler.postDelayed((new Runnable() {
public void run() {
AddListItem();
}
}), 1000);
}
}).start();
}