===================================Maintivity==========================================
public class MainActivity extends AppCompatActivity {
private String spec="http://www.xieast.com/api/news/news.php?page=";
private String spec1="http://172.17.8.100/mobile/exam/findCommodityList";
private List<pics.ResultBean> list1= new ArrayList<>();
private List<ImageView> list11=new ArrayList<>();
private int page=1;
private List<news.DataBean> list = new ArrayList<>();
private XListView xlistview;
private MyAdapter myAdapter;
private ViewPager view_page;
private Handler handler= new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if(msg.what==0){
String json1 = (String) msg.obj;
Log.i("xxx",json1+"");
Gson gson = new Gson();
pics pics = gson.fromJson(json1, pics.class);
com.example.dell.chenlin_0816.Bean.pics.ResultBean result = pics.getResult();
List<com.example.dell.chenlin_0816.Bean.pics.ResultBean.PicsBean> pics1 = result.getPics();
for (int i = 0; i < pics1.size(); i++) {
String pic = pics1.get(i).getPic();
ImageView imageView = new ImageView(MainActivity.this);
list11.add(imageView);
ImageLoader.getInstance().displayImage(pic,imageView);
MyAdapter1 myAdapter1 = new MyAdapter1(list11, MainActivity.this);
view_page.setAdapter(myAdapter1);
}
}else if(msg.what==1){
int i = view_page.getCurrentItem();
i++;
view_page.setCurrentItem(i);
handler.sendEmptyMessageDelayed(1,1000);
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//view_page = findViewById(R.id.view_page);
xlistview = findViewById(R.id.xlistview);
ImageLoader imageLoader = ImageLoader.getInstance();
getfromMid();
getfromnetwork();
//轮播
view_page = findViewById(R.id.view_page);
jiexi(spec1);
xlistview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
news.DataBean bean = (news.DataBean) parent.getAdapter().getItem(position);
Intent intent = new Intent(MainActivity.this, Show.class);
intent.putExtra("url",bean.getUrl());
startActivity(intent);
}
});
}
private void jiexi(final String spec1) {
new Thread(){
@Override
public void run() {
try {
URL url = new URL(spec1);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
connection.setRequestMethod("GET");
if(connection.getResponseCode()==200){
InputStream inputStream = connection.getInputStream();
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] bytes = new byte[1024];
int len=0;
while((len=inputStream.read(bytes))!=-1){
bos.write(bytes,0,len);
}
inputStream.close();
bos.close();
String s = bos.toString();
Message message = new Message();
message.what=0;
message.obj=s;
handler.sendMessage(message);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
}
//得到焦点
@Override
protected void onResume() {
super.onResume();
handler.sendEmptyMessageDelayed(1,1000);
}
@Override
protected void onPause() {
super.onPause();
handler.removeCallbacksAndMessages(null);
}
private void getfromMid() {
xlistview.setPullLoadEnable(true);
xlistview.setPullRefreshEnable(true);
xlistview.setXListViewListener(new XListView.IXListViewListener() {
@Override
public void onRefresh() {
page = 1;
getfromnetwork();
}
@Override
public void onLoadMore() {
page+=1;
getfromnetwork();
}
});
myAdapter = new MyAdapter(list,MainActivity.this);
xlistview.setAdapter(myAdapter);
}
private void getfromnetwork() {
String url = spec + page;
HttpUtils httpUtils = HttpUtils.getinstance();
httpUtils.getdata(url);
httpUtils.setGetjson(new HttpUtils.getjson() {
@Override
public void data(String json) {
Gson gson = new Gson();
news news = gson.fromJson(json, news.class);
List<com.example.dell.chenlin_0816.Bean.news.DataBean> data = news.getData();
if(page==1){
list.clear();
}
list.addAll(data);
myAdapter.notifyDataSetChanged();
xlistview.stopRefresh();
xlistview.stopLoadMore();
}
});
}
}
===================================HttpUtils==========================================
public class HttpUtils {
private static HttpUtils httpUtils;
private getjson getjson;
public static HttpUtils getinstance(){
if(httpUtils == null){
httpUtils = new HttpUtils();
}
return httpUtils;
}
public void getdata(String url){
MyAsync myAsync = new MyAsync();
myAsync.execute(url);
}
private class MyAsync extends AsyncTask<String,Integer,String>{
@Override
protected String doInBackground(String... params) {
String uu=params[0];
try {
URL url = new URL(uu);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setReadTimeout(5000);
connection.setConnectTimeout(5000);
if(connection.getResponseCode()==200){
return CharStreams.toString(new InputStreamReader(connection.getInputStream(),"UTF-8"));
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
getjson.data(s);
}
}
//接口
public interface getjson{
void data(String json);
}
//向外提供一个接口
public void setGetjson(getjson getjson){
this.getjson=getjson;
}
}
=====================================多条目adadpter========================================
public class MyAdapter extends BaseAdapter{
private final int ONE_ITEM=1;
private final int TWO_ITEM=2;
private List<news.DataBean> list;
private Context context;
public MyAdapter(List<news.DataBean> list, Context context) {
this.list = list;
this.context = context;`这里写代码片`
}
@Override
public int getViewTypeCount() {
return 3;
}
@Override
public int getItemViewType(int position) {
String thumbnail_pic_s = list.get(position).getThumbnail_pic_s();
String thumbnail_pic_s02 = list.get(position).getThumbnail_pic_s02();
String thumbnail_pic_s03 = list.get(position).getThumbnail_pic_s03();
if(thumbnail_pic_s !=null && thumbnail_pic_s02 == null && thumbnail_pic_s03 ==null){
return ONE_ITEM;
}else if(thumbnail_pic_s !=null && thumbnail_pic_s02 != null && thumbnail_pic_s03 != null) {
return TWO_ITEM;
}
return ONE_ITEM;
}
@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) {
int i = getItemViewType(position);
if(i==ONE_ITEM){
ViewHolderOne holderOne;
if(convertView==null){
convertView = View.inflate(context, R.layout.one_item, null);
holderOne = new ViewHolderOne();
holderOne.text_name=convertView.findViewById(R.id.text_name);
holderOne.text_news=convertView.findViewById(R.id.text_news);
holderOne.img_iew=convertView.findViewById(R.id.img_iew);
convertView.setTag(holderOne);
}else{
holderOne = (ViewHolderOne) convertView.getTag();
}
holderOne.text_name.setText(list.get(position).getTitle());
holderOne.text_news.setText(list.get(position).getAuthor_name());
DisplayImageOptions options = ImageLoaderUtils.getOptions();
ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s(),holderOne.img_iew);
return convertView;
}else{
ViewHolderTwo holderTwo;
if(convertView==null){
convertView = View.inflate(context, R.layout.two_item, null);
holderTwo = new ViewHolderTwo();
holderTwo.text_name02=convertView.findViewById(R.id.text_name02);
holderTwo.text_news02=convertView.findViewById(R.id.text_news02);
holderTwo.img_view01=convertView.findViewById(R.id.img_view01);
holderTwo.img_view02=convertView.findViewById(R.id.img_view02);
holderTwo.img_view03=convertView.findViewById(R.id.img_view03);
convertView.setTag(holderTwo);
}else{
holderTwo = (ViewHolderTwo) convertView.getTag();
}
holderTwo.text_name02.setText(list.get(position).getTitle());
holderTwo.text_news02.setText(list.get(position).getAuthor_name());
DisplayImageOptions options = ImageLoaderUtils.getOptions();
ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s(),holderTwo.img_view01);
ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s02(),holderTwo.img_view02);
ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s03(),holderTwo.img_view03);
return convertView;
}
}
class ViewHolderOne{
TextView text_name,text_news;
ImageView img_iew;
}
class ViewHolderTwo{
TextView text_name02,text_news02;
ImageView img_view01,img_view02,img_view03;
}
}
=====================================轮播adadpter========================================
public class MyAdapter1 extends PagerAdapter{
private List list;
private Context context;
public MyAdapter1(List<ImageView> list, Context context) {
this.list = list;
this.context = context;
}
@Override
public int getCount() {
return list.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view==object;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
ImageView imageView = list.get(position % list.size());
ViewParent parent = imageView.getParent();
container.addView(imageView);
return imageView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
}
================================webview—-Show跳转=======================================
public class Show extends AppCompatActivity {
private WebView web_view;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show);
web_view = findViewById(R.id.web_View);
String url = getIntent().getStringExtra("url");
web_view.setWebViewClient(new WebViewClient(){
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
}
@Override
public void onPageCommitVisible(WebView view, String url) {
super.onPageCommitVisible(view, url);
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
}
});
web_view.loadUrl(url);
}
}