适配器:是图形界面和数据源之间的交互
监听器:是用户和图形界面之间的(其实监听器是一个可以实现的接口)
OnItemListener 监听事件点击的监听器
OnScrollListener是监听事件变化的监听器
OnItemListener 监听事件点击的监听器:
- 首先继承接口
- 重载方法
- 声明是对于哪一个布局对象的监听事件
listvw.setOnItemClickListener(this);
- 实现具体的方法
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
// TODO Auto-generated method stub
String text = listvw.getItemAtPosition(position)+ "";
Toast.makeText(this, "position" + position+ " Text"+ text , Toast.LENGTH_SHORT).show();
}
listvw.getItemAtPosition(position)+ "";
监听的是点击 处的位置信息,String text = listvw.getItemAtPosition(position)+ "";
转化成了字符串的信息
7.Toast.makeText(this, "position" + position+ " Text"+ text , Toast.LENGTH_SHORT).show();
用吐司的方式在屏幕上显示这些信息,第二个参数是显示的内容,第三个是显示的时长。
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
// TODO Auto-generated method stub
String text = listvw.getItemAtPosition(position)+ "";
Toast.makeText(this, "position" + position+ " Text"+ text , Toast.LENGTH_SHORT).show();
}
public class MainActivity extends Activity implements OnItemClickListener,OnScrollListener{
private ListView listvw;
private ArrayAdapter<String>arr_adapter;
private SimpleAdapter sim_adapter;
private List<Map<String,Object>> dal;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
listvw = findViewById(R.id.listView);
/* 1.新建一个适配器
* 包含的三个参数(上下文,当前ListView所加载列表项所对应的布局文件,数据源)
* 2.适配器去加载数据源
* 3.使用视图(ListView)加载适配器
* */
/* context:上下文
* resource: 指的是布局的文件id。
* data : 有map所组成的一个键值对,每个map对应的是列表中的一行,键值在from中一定是需要包含的
* from :记录键名称
* to:绑定数据视图中的id,与from有对应对的关系
* */
String[] arr_dataStrings = {"mooc1","mooc2","mooc3","mooc4"};
dal = new ArrayList<Map<String,Object>>();
arr_adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, arr_dataStrings);
sim_adapter = new SimpleAdapter(this, getData(), R.layout.itrm, new String[]{"pic","text"}, new int[]{R.id.imageView1,R.id.textView1});
//listvw.setAdapter(arr_adapter);
listvw.setAdapter(sim_adapter);
listvw.setOnItemClickListener(this);
listvw.setOnScrollListener(this);
}
sim_adapter.notifyDataSetChanged();
搭载的动态刷新功能