Fragment传值PulltorefreshListciew加载更多

来源:互联网 发布:vb下载网页源代码 编辑:程序博客网 时间:2024/06/06 19:38

//Activity的代码
public class MainActivity extends AppCompatActivity {    private ListView lv;    private List<String> list;    private F1 f1;    private DrawerLayout dr;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        lv = findViewById(R.id.lv);        //dr为侧滑菜单的id        dr = findViewById(R.id.dr);        addlist();        ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_expandable_list_item_1, list);       lv.setAdapter(adapter);       //listview的点击事件        listviewbt();        f1 = new F1();        getSupportFragmentManager().beginTransaction().add(R.id.fl,f1).commit();    }    private void listviewbt() {        lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {            @Override            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {                f1 = new F1();                chuan(i+1);                getSupportFragmentManager().beginTransaction().replace(R.id.fl,f1).commit();                dr.closeDrawers();            }        });    }    public void chuan(int id){        Bundle b=new Bundle();       b.putInt("id",id);       f1.setArguments(b);    }    private void addlist() {        list = new ArrayList<>();        for (int i=1;i<30;i++){            list.add("你好啊"+i);        }    }}
//Fragment的代码   添加适配器  解析URi此处已省略
public class F1 extends Fragment { private String net="http://www.yulin520.com/a2a/impressApi/news/mergeList?pageSize=10&page=";    List<Mybean.DataBean> list=new ArrayList<>();    private Myadapter my;    private PullToRefreshListView pull;    int page=0;    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        View view = inflater.inflate(R.layout.text, container, false);        pull = view.findViewById(R.id.pull);        //获取传过来的id        int id = getid(page);        //如果没点的话默认为第一个界面         if (id==0){             new Myasynctask().execute(net+1);         }        my = new Myadapter();        pull.setAdapter(my);        pull.setMode(PullToRefreshBase.Mode.BOTH);        pull.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {            @Override            public void onPullDownToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {                list.clear();                page=0;                int id = getid(page);                if (id==0){                    page=1;                    new Myasynctask().execute(net+page);                }            }            @Override            public void onPullUpToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {                page++;                int id = getid(page);                if (id==0){                    page++;                    new Myasynctask().execute(net+page);                }            }        });        return view;    }    private int getid(int page) {        Bundle arguments = getArguments();        if (arguments!=null){            int id = arguments.getInt("id");            new Myasynctask().execute(net+(id+page));           // Log.d("你猜", "就看见 "+net+(id+page));           return id;        }        return 0;    }
}

原创粉丝点击