wang_peng1 发表于 2013-1-15 02:42:00

listView 添加addHeaderView和addFooterView以及handler.postDelayed的使用

import android.app.ListActivity;import android.content.Context;import android.os.Bundle;import android.os.Handler;import android.os.SystemClock;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.ListView;import android.widget.TextView;import java.util.Arrays;import java.util.Collections;import java.util.List;import java.util.concurrent.atomic.AtomicBoolean;public class HeaderFooterDemo extends ListActivity {private static String[] items={"lorem","pellentesque", "augue","purus"};private long startTime=SystemClock.uptimeMillis();private Handler handler=new Handler();private AtomicBoolean areWeDeadYet=new AtomicBoolean(false);@Overridepublic void onCreate(Bundle icicle) {super.onCreate(icicle);setContentView(R.layout.main);getListView().addHeaderView(buildHeader());getListView().addFooterView(buildFooter());setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,items));}@Overridepublic void onDestroy() {super.onDestroy();areWeDeadYet.set(true);}private View buildHeader() {Button btn=new Button(this);btn.setText("Randomize!");btn.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {List<String> list=Arrays.asList(items);Collections.shuffle(list);setListAdapter(new ArrayAdapter<String>(HeaderFooterDemo.this,android.R.layout.simple_list_item_1,list));}});return(btn);}private View buildFooter() {TextView txt=new TextView(this);updateFooter(txt);return(txt);}private void updateFooter(final TextView txt) {long runtime=(SystemClock.uptimeMillis()-startTime)/1000;txt.setText(String.valueOf(runtime)+" seconds since activity launched");if (!areWeDeadYet.get()) {handler.postDelayed(new Runnable() {public void run() {updateFooter(txt);}}, 1000);}}} 
<?xml version="1.0" encoding="utf-8"?><ListViewxmlns:android="http://schemas.android.com/apk/res/android"android:id="@android:id/list"android:layout_width="fill_parent" android:layout_height="fill_parent"android:drawSelectorOnTop="true"/> android:drawSelectorOnTop="false"注意这句话的意思 如果你设为true,那么选中的颜色会在上面 挡住button
设为false 则选中颜色在下面可以看见button 自己测试一下就明白了
页: [1]
查看完整版本: listView 添加addHeaderView和addFooterView以及handler.postDelayed的使用