XListView
XListView是github上的开源第三方控件,内部封装好的一个类XListView 其内部包含XListViewFooter XListViewHeader 两个自定义类(控件)如此实现上拉加载更多、下拉刷新,此控件内部引用自己的布局 作为加载的界面,此控件类似于PulltoRefreshView 只不过比PulltoRefreshView上拉时没有显示加载更多的视图
效果图 :
先写XML文件,设置一个ID
再来写Java类
public class XListView extends Activity {
private XListView mXListView;
List
datas = new ArrayList
();
private MyAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initDatas();
mXListView = (XListView) findViewById(R.id.xlv);
//设置适配器到ListView
adapter = new MyAdapter();
mXListView.setAdapter(adapter);
}
//模拟网络数据
private void initDatas() {
for (int i = 0; i < 50; i++) {
datas.add("静静爱民民和雷雷" + i + "次");
}
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
private class MyAdapter extends BaseAdapter{
@Override
public int getCount() {
if(datas != null){
return datas.size();
}
return 0;
}
@Override
public Object getItem(int position) {
if(datas != null){
return datas.get(position);
}
return null;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
//模拟item为TextView
TextView textView = new TextView(getApplicationContext());
textView.setText(getItem(position)+"");
//设置字体大小和颜色
// textView.setTextColor(Color.GREEN);
textView.setTextSize(22);
//停止刷新
mXListView.stopRefresh();
adapter.notifyDataSetChanged();
return textView;
}
}
}
运行得到结果即可