ListAdapter扩展自Adapter,是ListView和数据列表之间的桥梁。该类提供两个公共有类型的方法:
public abstract boolean areAllItemEnabled():表示ListView中所有元素是可激活的?如果返回真表示可激活,元素可被选择,可单击。
public abstract boolean isEnabled(int position):判断指定元素是否可被激活。
项目实例:
(1)res/values/string.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Example7</string>
<string name="hello">Example7</string>
</resources>
(2)res/layout/main.xml
</pre><pre name="code" class="html"><?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp"
android:textSize="16sp" />
(3)res/com.example.www/MainActivity.java
package com.example.www;
import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.main);
setListAdapter(new ArrayAdapter<String>(this,R.layout.main,COUNTRIES));
ListView lv = getListView();
lv.setTextFilterEnabled(true);//大概意思就是但listview获得当前焦点的时候,相应用户输入的匹配符。筛选出匹配的listview Items。
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?>parent,View view,int position,long id){
Toast.makeText(getApplicationContext(),((TextView)view).getText(),Toast.LENGTH_LONG).show();
}
});
}
static final String[]COUNTRIES = new String[]{
"1","2","3","4","5","6","7","8"
};
}
知识点:
public void onItemClick (AdapterView<?> parent, View view, int position, long id )
// parent
相当于listview Y适配器的一个指针,可以通过它来获得Y里装着的一切东西,再通俗点就是说告诉你,你点的是Y,不是X - -
// view
是你点b item的view的句柄,就是你可以用这个view,来获得b里的控件的id后操作控件
// position
是b在Y适配器里的位置(生成listview时,适配器一个一个的做item,然后把他们按顺序排好队,在放到listview里,意思就是这个b是第position号做好的)
// id
是b在listview Y里的第几行的位置(很明显是第2行),大部分时候position和id的值是一样的,如果需要的话,你可以自己加个log把position和id都弄出来在logcat里瞅瞅,看了之后心里才踏实。(该段来自网络)
// parent
// view
// position
// id