This article shares the specific code displayed by pull-down on MVPXlistView for your reference. The specific content is as follows
Base draw
package .; import ; import ; import .; public abstract class BackActivity extends AppCompatActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { (savedInstanceState); init(); } protected abstract int getLayout(); protected abstract void initViews(); protected abstract void setOnClick(); protected abstract void processLogic(); void init(){ if (getLayout()!=0){ setContentView(getLayout()); initViews(); setOnClick(); processLogic(); }else { throw new IllegalStateException("Please load the layout file"); } } }
Model
package .; import .; public interface Model { void getData(String mUrl,String parants,MyCallBase callBase); }
MyCallBase
package .; import .; public interface MyCallBase { void setData(User data); void setError(String error); }
Modelimpl
package .; import ; import ; import ; import ; import .; import .; import .; import .; import ; public class Modelimpl implements Model { private Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { (msg); String JsonStr= (String) ; Gson gson=new Gson(); User user= (JsonStr,); (user); } }; private MyCallBase callBase; @Override public void getData(final String mUrl, String parants, final MyCallBase callBase) { =callBase; new Thread(new Runnable() { @Override public void run() { try { String json = (mUrl); ((0,json)); } catch (Exception e) { (); ("abnormal"); (); } } }).start(); } }
HttpUtils
package .; import ; import ; import ; import ; import ; import ; public class HttpUtils { public static String get(String mUrl) throws Exception { URL url=new URL(mUrl); HttpURLConnection connection = (HttpURLConnection) (); //Set request method ("GET"); (5000); InputStream stream = (); String inputStr = getInputStr(stream); return inputStr; } //Turn the stream into a string private static String getInputStr(InputStream stream) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(stream)); StringBuffer sb = new StringBuffer(); String str = null; while ((str = ()) != null) { (str); } return (); } }
IView
package .; import .; public interface IView { void success(User data); void error(String error); }
Presenter
package .; public interface Presenter { void startReponse(String url,String parants); }
PresenterImpl
package .; import .; import .; import .; import .; public class PresenterImpl implements Presenter { private IView iView; private Modelimpl model; public PresenterImpl(IView iView) { = iView; model = new Modelimpl(); } @Override public void startReponse(String mUrl, String parants) { (mUrl,parants, new MyCallBase() { @Override public void setData(User data) { (data); } @Override public void setError(String error) { (error); } }); } public void onDotch(){ if (iView!=null){ iView=null; } if (model!=null){ model=null; } } }
MainActivity
package .day8; import ; import .; import .; import .; import .; import .; import ; import ; public class MainActivity extends BackActivity implements IView, { private XListView xlist_item; private PresenterImpl presenter; private ArrayList<> mlist=new ArrayList<>(); private String muUrl="/api/news/?page="; private int i=1; private MyAdapter adapter; @Override protected int getLayout() { return .activity_main; } @Override protected void initViews() { xlist_item = findViewById(.Xlist_item); } @Override protected void setOnClick() { xlist_item.setPullLoadEnable(true); xlist_item.setXListViewListener(this); } @Override protected void processLogic() { presenter = new PresenterImpl(this); adapter = new MyAdapter(,mlist); xlist_item.setAdapter(adapter); (muUrl+i, null); } @Override public void success(User data) { (()); (); stop(); } @Override public void error(String error) { (this, "abnormal", Toast.LENGTH_SHORT).show(); } private void stop() { xlist_item.stopRefresh(); xlist_item.stopLoadMore(); } @Override public void onRefresh() { i = 1; (); (muUrl + i, null); } @Override public void onLoadMore() { i++; (muUrl + i, null); } }
MyAdapter
package .; import ; import ; import ; import ; import ; import ; import .; import .; import com.; import ; public class MyAdapter extends BaseAdapter { public MyAdapter(Context context, ArrayList<> mlist) { = context; = mlist; } private Context context; private ArrayList<> mlist; @Override public int getCount() { return (); } @Override public Object getItem(int position) { return (position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { HolderView holder=null; if (convertView==null){ convertView= (context, ,null); holder=new HolderView(); =(); =(); (holder); }else { holder= (HolderView) (); } bean = (position); (()); ().displayImage((position).getThumbnail_pic_s(),); return convertView; } class HolderView{ TextView textName; ImageView imageName; } }
The above is all the content of this article. I hope it will be helpful to everyone's study and I hope everyone will support me more.