import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
import android.view.Gravity;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.AbsListView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.AbsListView.OnScrollListener;public class ListViewLine extends Activity {
private ListView listView;
private LinearLayout layout01;
private int y = 0;
private SimpleAdapter sa;
private boolean initializeFooterViewOne = true;
private boolean isDown = false;
private boolean isUp = true; public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
layout01 = (LinearLayout) findViewById(R.id.layout01);
listView = (ListView) findViewById(R.id.main_listview);
List<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();
for (int i = 0; i < 5; i++) {
HashMap map = new HashMap();
map.put("content", "测试数据");
list.add(map);
}
sa = new SimpleAdapter(getApplicationContext(), list,
R.layout.main_item, new String[] { "content" },
new int[] { R.id.main_item_text_content });
listView.addHeaderView(getHeaderView());
listView.addFooterView(getFooterView());
listView.addFooterView(getFooterViewOne());
listView.setAdapter(sa);
listView.setSelection(1); listView.setOnScrollListener(new OnScrollListener() {
public void onScrollStateChanged(AbsListView view, int scrollState) {
Log.d("DD", "onScrollStateChanged" + scrollState);
} public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
Log.d("DDD", firstVisibleItem + " " + visibleItemCount + " "
+ totalItemCount);
if (initializeFooterViewOne
&& visibleItemCount == totalItemCount) {
initializeFooterViewOne = false;
y = layout01.getHeight() - listView.getHeight() + 52;
tvOne.setHeight(y);
sa.notifyDataSetChanged();
}

if (isUp && firstVisibleItem == 0) {
listView.setSelection(1);//为什么没有选中第一个
}
}
}); listView.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
Log.d("D", "ACTION_DOWN");
// 按下:开启滚动到 第0条
isDown = true;
isUp = false;
break;
case MotionEvent.ACTION_UP:
Log.d("D", "ACTION_UP");
isDown = false;
isUp = true;
break;
case MotionEvent.ACTION_MOVE: break;
default:
Log.d("DD", "什么都没有执行");
break;
}
return false;
}
});
} private ImageView iv;
private LinearLayout headerLayout; private View getHeaderView() {
headerLayout = new LinearLayout(this);
headerLayout.setOrientation(LinearLayout.HORIZONTAL);
headerLayout.setGravity(Gravity.CENTER);
iv = new ImageView(this);
iv.setBackgroundResource(R.drawable.up_dwon_refresh);
headerLayout.addView(iv);
TextView tv = new TextView(this);
tv.setText("下拉可以刷新\n最近一次更新于 12/05/2011 12:30:00");
tv.setTextSize(14f);
tv.setHeight(50);
tv.setGravity(Gravity.CENTER);
headerLayout.addView(tv);
return headerLayout;
} private LinearLayout footerLayout;
private TextView tv; private View getFooterView() {
footerLayout = new LinearLayout(this);
footerLayout.setOrientation(LinearLayout.HORIZONTAL);
tv = new TextView(this);
tv.setText("更多");
tv.setTextSize(15f);
tv.setHeight(50);
tv.setGravity(Gravity.CENTER);
tv.setTextColor(Color.BLACK);
tv.setTag("noItem");
footerLayout.addView(tv);
footerLayout.setGravity(Gravity.CENTER);
return footerLayout;
} private LinearLayout footerLayoutOne;
private TextView tvOne; private View getFooterViewOne() {
footerLayoutOne = new LinearLayout(this);
footerLayoutOne.setOrientation(LinearLayout.HORIZONTAL);
tvOne = new TextView(this);
tvOne.setHeight(0);
footerLayoutOne.addView(tvOne);
return footerLayoutOne;
}
}xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#FFFFFF"
    android:id="@+id/layout01"
    >
<ListView
android:id="@+id/main_listview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:cacheColorHint="#00000000"
android:background="#FFFFFF"
/>
</LinearLayout><?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="50dip"
    >
    <TextView
     android:id="@+id/main_item_text_content"
     android:layout_width="fill_parent"
     android:layout_height="48dip"
     android:gravity="center"
     />
</RelativeLayout>我想知道为什么没有选中第一个的原因 那位大哥大姐有时间给解释一下吧!