XlistView 作为基础的上下拉空间
首先 需要导入三个XlistView类
xml文件包
在Studio中把导入的工程 import 对应的R包更改好以后,开始操作最简单的上下拉
这是布局文件
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <com.example.xlistview.Utils.XListView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/listview" ></com.example.xlistview.Utils.XListView> </RelativeLayout>代码文件 注意:该类需实现 XListView.IXListViewListener 会重写上拉,下拉的方法
import android.os.Handler; import android.os.Message; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.TextView; import com.example.xlistview.Utils.XListView; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener{ private XListView lv; private List<String> list; private Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); myAdapter.notifyDataSetChanged(); close(); } }; private MyAdapter myAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //初始化数据 initData(); //初始化组件 lv = (XListView) findViewById(R.id.listview); ;// 设置让它上拉,FALSE为不让上拉,便不加载更多数据 lv.setPullLoadEnable(true); //设置可以下拉 lv.setPullRefreshEnable(true); //设置适配器 lv.setXListViewListener(this); myAdapter = new MyAdapter(); lv.setAdapter(myAdapter); } public void close(){ //停止加载更多 lv.stopLoadMore(); lv.stopRefresh(); lv.setRefreshTime("2017:8:10"); } /* 下拉刷新时会调用此方法 */ @Override public void onRefresh() { handler.postDelayed(new Runnable() { @Override public void run() { list.add(0,"你看,范冰冰"); handler.sendEmptyMessage(0); } },3000); } /** * 加载更多时会调用此方法 */ @Override public void onLoadMore() { handler.postDelayed(new Runnable() { @Override public void run() { list.add("又是范冰冰,你开心不"); handler.sendEmptyMessage(0); } },3000); } /* 下拉刷新时会调用此方法 */ //适配器 class MyAdapter extends BaseAdapter{ @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return list.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { TextView tv = new TextView(MainActivity.this); tv.setTextSize(25); tv.setText(list.get(position)); return tv; } } //初始化组件 private void initData() { list = new ArrayList<>(); for (int i=0;i<10;i++){ list.add("栓"+i); } } }
最最最基础的代码,勿喷哦~