MyFragment
来源:互联网 发布:2016国内旅游数据 编辑:程序博客网 时间:2024/06/05 10:46
package com.bwie.topnewsnormal;import android.content.Intent;import android.graphics.Color;import android.graphics.drawable.ColorDrawable;import android.os.Bundle;import android.support.annotation.Nullable;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.webkit.WebView;import android.widget.AdapterView;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.PopupWindow;import android.widget.TextView;import com.bwie.topnewsnormal.bean.NewsInfo;import com.bwie.topnewsnormal.database.NewsDao;import com.google.gson.Gson;import com.limxing.xlistview.view.XListView;import org.xutils.common.Callback;import org.xutils.http.RequestParams;import org.xutils.x;import java.util.List;/** * Created by Shadow on 2017/8/2. */public class MyFragment extends Fragment implements XListView.IXListViewListener { private String text; private XListView xlv; private View view; private Myadapter myadapter; int index = 0; boolean flag; private PopupWindow popupWindow; private ImageView closeView; private TextView deleteView; private List<NewsInfo.ResultBean.ListBean> list; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { view = inflater.inflate(R.layout.myfragment, container, false); return view; } @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); Bundle arguments = getArguments(); text = arguments.getString("text", ""); } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); xlv = (XListView) view.findViewById(R.id.xlv); xlv.setPullLoadEnable(true); xlv.setXListViewListener(this); loadData("http://api.jisuapi.com/news/get", text, index + ""); xlv.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Intent intent = new Intent(getContext(), WebViewActivity.class); System.out.println("*************"+position+"传过去的url"+list.get(5).getUrl()); intent.putExtra("newsUrl",list.get(position-1).getUrl()); startActivity(intent); } });//头条、新闻、财经、体育、娱乐、军事、教育、科技、NBA、股票、星座、女性、健康、育儿 } private void loadData(String path, String channel, String page) { RequestParams requestParams = new RequestParams(path); requestParams.addBodyParameter("appkey", "cf2efa79d8df0ede"); requestParams.addBodyParameter("start", page); requestParams.addBodyParameter("num", "15"); requestParams.addBodyParameter("channel", channel); x.http().post(requestParams, new Callback.CommonCallback<String>() { @Override public void onSuccess(String result) { System.out.println("******************" + result); NewsInfo newsInfo = new Gson().fromJson(result, NewsInfo.class); list = newsInfo.getResult().getList(); if (myadapter == null) { myadapter = new Myadapter(list); xlv.setAdapter(myadapter); } else { myadapter.loadMore(list, flag); myadapter.notifyDataSetChanged(); } } @Override public void onError(Throwable ex, boolean isOnCallback) { } @Override public void onCancelled(CancelledException cex) { } @Override public void onFinished() { } }); } @Override public void onRefresh() { flag = true; index++; loadData("http://api.jisuapi.com/news/get", text, index + ""); xlv.stopRefresh(true); } @Override public void onLoadMore() { flag = false; index++; loadData("http://api.jisuapi.com/news/get", text, index + ""); xlv.stopLoadMore(); } class Myadapter extends BaseAdapter { List<NewsInfo.ResultBean.ListBean> list; public Myadapter(List<NewsInfo.ResultBean.ListBean> list) { this.list = list; } void loadMore(List<NewsInfo.ResultBean.ListBean> list2, boolean flag) { for (NewsInfo.ResultBean.ListBean bean : list2) { if (flag) { list.add(0, bean); } else { list.add(bean); } } } @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) { ViewHolder holder = null; if (convertView == null) { holder = new ViewHolder(); convertView = convertView.inflate(getActivity(), R.layout.item1, null); holder.imageView = (ImageView) convertView.findViewById(R.id.iv_news); holder.iv_pop = (ImageView) convertView.findViewById(R.id.iv_pop); holder.textView = (TextView) convertView.findViewById(R.id.tv_Content); holder.tv_src = (TextView) convertView.findViewById(R.id.tv_src); holder.tv_time = (TextView) convertView.findViewById(R.id.tv_time); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } x.image().bind(holder.imageView, list.get(position).getPic()); holder.tv_src.setText(list.get(position).getSrc()); holder.tv_time.setText(list.get(position).getTime()); holder.textView.setText(list.get(position).getTitle()); holder.iv_pop.setOnClickListener(new IvPopListener(position)); return convertView; } class ViewHolder { ImageView imageView; ImageView iv_pop; TextView textView; TextView tv_src; TextView tv_time; } } class IvPopListener implements View.OnClickListener { int position; public IvPopListener(int position) { this.position = position; initPopWindow(); } @Override public void onClick(View v) { int[] array = new int[2]; v.getLocationOnScreen(array); int x = array[0]; int y = array[1]; showPopWindow(v, position, x, y); } void initPopWindow() { View view = View.inflate(getContext(), R.layout.popupwindow, null); popupWindow = new PopupWindow(view, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); // popupWindow.setAnimationStyle(); popupWindow.setBackgroundDrawable(new ColorDrawable(Color.BLACK)); deleteView = (TextView) view.findViewById(R.id.delete_tv); closeView = (ImageView) view.findViewById(R.id.close_iv); } void showPopWindow(View v, final int position, int x, int y) { popupWindow.setFocusable(true); popupWindow.setOutsideTouchable(true); popupWindow.showAtLocation(v, 0, x, y); deleteView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { list.remove(position); myadapter.notifyDataSetChanged(); if (popupWindow.isShowing()) { popupWindow.dismiss(); } } }); closeView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (popupWindow.isShowing()) { popupWindow.dismiss(); } } }); } }}
阅读全文
0 0
- MyFragment
- 封装MyFragment
- 漫画加载,频道管理(MyFragment)
- Fragment MyFragment not attached to Activity
- Fragment MyFragment not attached to Activity
- 为什么应该使用MyFragment.newInstance()创建新的Frgament,而不是new MyFragment()
- Android bug Fragment MyFragment not attached to Activity
- 今日头条(MyFragment,Myadapter,MenuInfo类)
- fragment Trying to instantiate a class com.example.testhuanxindemo.MyFragment that is not a Fragmen
- 报错:由getResources()引起的:Fragment MyFragment not attached to Activity
- CAS
- Activtiy使用与理解
- 单例模式的写法
- python之第三方库安装方法pip(pip如何设置代理安装库)
- 项目笔记(二)
- MyFragment
- Tensorflow Manage Experiments
- A
- C语言的一些知识点
- vs2010+opencv3.0.0 环境配置 (以及配置技巧)
- POJ2749 Building roads【2-SAT】
- HDU 1179 Ollivanders: Makers of Fine Wands since 382 BC.(二分图匹配+匈牙利算法)
- hdu6127Hard challenge(极角排序)
- OSG 事件处理机制 类图