view包
MainActivity类
public class MainActivity extends AppCompatActivity { private TabLayout mTabLayout; private ViewPager mViewPager; private String[] channes={ "沪深","板块","指数","港股","新三板","商品","更多"}; private FragmentManager fm; private ArrayList<Fragment> list; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); initData(); } private void initData() { fm = getSupportFragmentManager(); mTabLayout.setupWithViewPager(mViewPager); for (int i=0;i<channes.length;i++){ mTabLayout.addTab(mTabLayout.newTab().setText(channes[i])); } list = new ArrayList<>(); for (int i=0;i<channes.length;i++){ MyFragment1 myFragment = new MyFragment1(); Bundle bundle = new Bundle(); bundle.getString("title",channes[i]); myFragment.setArguments(bundle); list.add(myFragment); } mViewPager.setAdapter(new FragmentPagerAdapter(fm) { @Override public Fragment getItem(int position) { return list.get(position); } @Override public int getCount() { return list.size(); } @Override public CharSequence getPageTitle(int position) { return channes[position]; } }); } private void initView() { mTabLayout = (TabLayout) findViewById(R.id.tab_layout); mViewPager = (ViewPager) findViewById(R.id.view_pager); } }
IMainActivity接口
public interface IMainActivity { void OnSuccess(List<Bean.DataBean> data); void OnFailde(String s); }presenter包
presenter类
public class presenter implements Ipresenter{ IMainActivity iMainActivity; Model model; public presenter(IMainActivity iMainActivity) { this.iMainActivity = iMainActivity; model=new Model(); } @Override public void OnSuccess(List<Bean.DataBean> data) { if (iMainActivity!=null){ Log.e("1111", data.size()+"正确"); iMainActivity.OnSuccess(data); } } @Override public void OnFailde(String s) { if (iMainActivity!=null){ iMainActivity.OnFailde(s); } } @Override public void getData() { model.getData(this); } @Override public void youhua() { if (iMainActivity!=null){ iMainActivity=null; } } }Ipresenter接口
public interface Ipresenter { void OnSuccess(List<Bean.DataBean> data); void OnFailde(String s); void getData(); void youhua(); }model包
Model类
public class Model implements IModel{ private Handler handler=new Handler(); @Override public void getData(final Ipresenter ipresenter) { String url="http://mnews.gw.com.cn/wap/data/news/xbsjxw/page_1.json"; OkHttpClient client = new OkHttpClient(); Request request=new Request.Builder() .get() .url(url) .build(); Call call = client.newCall(request); call.enqueue(new Callback() { private Bean bean; @Override public void onFailure(Call call, final IOException e) { handler.post(new Runnable() { @Override public void run() {