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;
}