//布局
<com.recker.flybanner.FlyBanner
android:id="@+id/banner"
android:layout_width=“match_parent”
android:layout_height=“200dp”></com.recker.flybanner.FlyBanner>
<me.maxwin.view.XListView
android:id="@+id/xlv"
android:layout_width="match_parent"
android:layout_height="match_parent"></me.maxwin.view.XListView>
//mina
public class MainActivity extends AppCompatActivity {
private FlyBanner banner;
private String[] mImagesUrl = {
"http://attach.bbs.miui.com/forum/201303/16/173716jzszx8vbbb0z9o4k.jpg",
"http://pic.58pic.com/58pic/13/16/42/18F58PIChTy_1024.jpg",
"http://pic.58pic.com/58pic/13/16/42/18F58PIChTy_1024.jpg" };
private XListView xlv;
private List<Bean.DataBean> list = new ArrayList<>();
private MAdapter adapter;
private String url="http://www.xieast.com/api/news/news.php?count=10&page=1";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
xlv = findViewById(R.id.xlv);
adapter = new MAdapter(this);
xlv.setAdapter(adapter);
banner = findViewById(R.id.banner);
//定义一个方法
initNetBanner();
initData();
}
private void initData() {
new AsyncTask<String, Void, List<Bean.DataBean>>() {
@Override
protected List<Bean.DataBean> doInBackground(String... strings) {
Bean bean=null;
try {
URL url = new URL(strings[0]);
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setRequestMethod("GET");
httpURLConnection.setConnectTimeout(5000);
httpURLConnection.setReadTimeout(5000);
int responseCode = httpURLConnection.getResponseCode();
if (responseCode == 200){
String result = steam2string(httpURLConnection.getInputStream());
bean = new Gson().fromJson(result, Bean.class);
}
} catch (Exception e) {
e.printStackTrace();
}
return bean == null ? (List<Bean.DataBean>) bean : bean.getData();
}
@Override
protected void onPostExecute(List<Bean.DataBean> dataBeans) {
super.onPostExecute(dataBeans);
if (dataBeans == null){
Toast.makeText(MainActivity.this,"请求失败",Toast.LENGTH_LONG).show();
return;
}
adapter.setData(dataBeans);
}
}.execute(url);
}
private void initNetBanner() {
banner = findViewById(R.id.banner);
List<String> imgesUrl = new ArrayList<>();
for (int i = 0; i < mImagesUrl.length; i++) {
imgesUrl.add(mImagesUrl[i]);
}
banner.setImagesUrl(imgesUrl);
}
private String steam2string(InputStream inputStream) {
StringBuilder stringBuilder = new StringBuilder();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
try {
for (String time = reader.readLine(); time != null ; time = reader.readLine()){
stringBuilder.append(time);
}
} catch (IOException e) {
e.printStackTrace();
}
return stringBuilder.toString();
}
}
//MAdapter
public class MAdapter extends BaseAdapter {
private Context context;
private List<Bean.DataBean> list;
public MAdapter(MainActivity mainActivity) {
this.context = mainActivity;
list=new ArrayList<>();
}
public void setData(List<Bean.DataBean> dataBeans) {
list.clear();
if (dataBeans!=null){
list.addAll(dataBeans);
}
notifyDataSetChanged();
}
@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) {
Holder1 holder1;
if (convertView == null){
holder1 = new Holder1();
convertView = View.inflate(context,R.layout.item_one,null);
holder1.img = convertView.findViewById(R.id.img);
holder1.category = convertView.findViewById(R.id.category);
convertView.setTag(holder1);
}else {
holder1 = (Holder1) convertView.getTag();
}
holder1.category.setText(list.get(position).getCategory());
Glide.with(context).load(list.get(position).getThumbnail_pic_s()).into(holder1.img);
return convertView;
}
class Holder1{
ImageView img;
TextView category;
}
}