第六节总结
来源:互联网 发布:淘宝店铺ppt 编辑:程序博客网 时间:2024/06/08 08:27
总结
这一章主要实现微信精选模块的功能,也是调用接口解析json,跳页面,传值,实现webView。。。嗯 就这些!!!
实现BaseAdapter作为ListView的Adapter
不多比比,贴代码吧
public class wxAdapter extends BaseAdapter { private Context mContext; private LayoutInflater inflater; private weinxinData data; private List<weinxinData> mlist; public TextView title; public TextView weixinname; public wxAdapter(Context mContext, List<weinxinData> mlist) { this.mContext = mContext; inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); this.mlist = mlist; } } @Override public int getCount() { return mlist.size(); } @Override public Object getItem(int position) { return mlist.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { viewHolder viewHolder = null; if (convertView==null){ viewHolder=new viewHolder(); convertView=inflater.inflate(R.layout.weixin_item,null); viewHolder.title= (TextView) convertView.findViewById(R.id.weixin_item_title_tv); viewHolder.weixinname=(TextView)convertView.findViewById(R.id.weixin_item_weixinname_tv); convertView.setTag(viewHolder); }else { viewHolder= (com.example.myapplication.entity.viewHolder) convertView.getTag(); } weinxinData data=mlist.get(position); viewHolder.title.setText(data.getTitle()); viewHolder.weixinname.setText(data.getWeixinname()); return convertView; }}使用的viewHolder
public class viewHolder { public TextView title; public TextView weixinname;}Fragment中实现逻辑
public class wxFragment extends Fragment { private ListView mlistView; private List<weinxinData> mlist; private List<String> mtitle; private List<String> murl; //数据接口 private String url="http://api.jisuapi.com/weixinarticle/get?channelid=1&start=0&num=10&appkey=c7b6a14799a0d2a9"; public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.weixinlayout, container, false); findView(view); return view; } private void findView(View view) { mlistView= (ListView) view.findViewById(R.id.weixin_listVIew); mlist=new ArrayList<>(); mtitle=new ArrayList<>(); murl=new ArrayList<>(); RxVolley.get(url, new HttpCallback() { @Override public void onSuccess(String t) { super.onSuccess(t); prasingUrl(t); } }); //ListView的一条的点击事件 mlistView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { //传值跳页面 Intent intent=new Intent(getActivity(),webViewActity.class); intent.putExtra("title",mtitle.get(position)); intent.putExtra("url",murl.get(position)); startActivity(intent); } }); }//解析JSON private void prasingUrl(String t) { try { JSONObject jsonObject=new JSONObject(t); JSONObject jsonResult=jsonObject.getJSONObject("result"); JSONArray jsonArray=jsonResult.getJSONArray("list"); for (int i = 0; i <jsonArray.length() ; i++) { JSONObject jsonObject1=jsonArray.getJSONObject(i); String Stitle=jsonObject1.getString("title"); String URL=jsonObject1.getString("url"); String Sweixinname=jsonObject1.getString("weixinname"); L.i("title:"+Stitle+Sweixinname); weinxinData data = new weinxinData(Stitle,Sweixinname); mlist.add(data); mtitle.add(Stitle); murl.add(URL); } wxAdapter weixinAdapter=new wxAdapter(getActivity(),mlist); mlistView.setAdapter(weixinAdapter); } catch (JSONException e) { e.printStackTrace(); } }}WebView实现加载
public class webViewActity extends BaseActivity { private WebView mWebView; public ProgressBar mProgressBar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.web); initView(); } private void initView() { mWebView= (WebView) findViewById(R.id.mWebView); mProgressBar= (ProgressBar) findViewById(R.id.mProgress); Intent intent=getIntent(); final String title=intent.getStringExtra("title"); final String url=intent.getStringExtra("url"); //设置标题 getSupportActionBar().setTitle(title); //进行加载网页的逻辑 //支持JS mWebView.getSettings().setJavaScriptEnabled(true); //支持缩放 mWebView.getSettings().setSupportZoom(true); mWebView.getSettings().setBuiltInZoomControls(true); //接口回调 mWebView.setWebChromeClient(new WebChromeClient(){ public void onProgressChanged(WebView view, int newProgress) { if(newProgress == 100){ mProgressBar.setVisibility(View.GONE); } super.onProgressChanged(view, newProgress); } }); //加载网页 mWebView.loadUrl(url); //本地显示 mWebView.setWebViewClient(new android.webkit.WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { view.loadUrl(url); //我接受这个事件 return true; } }); }}布局就一个WebView一个进度条
阅读全文
0 0
- 第六节总结
- 第六周总结
- 《第六章 复用类》 总结
- 第六天:总结
- 第六天总结0327
- 第六章 过程总结
- 第六章数组总结
- 第六章总结
- 第六周总结
- 第六天:总结篇
- 第六周总结
- 第六周总结
- 2015第六届省赛总结
- 第六届省赛总结--张兆迪
- 第六届省赛总结
- 第六章总结
- 第六周周总结
- 集合第六发总结
- 分布式java应用
- [HDU
- 面试题17:合并两个排序的列表
- 详述 PO VO BO DTO DAO 和 POJO 的概念及区别
- 从零开始的RxJava之旅(4)---- RxJava2总结
- 第六节总结
- 处理图片的缩放、旋转、裁剪和翻转这四种效果
- 腾讯云视频上传问题总结
- 1194: 总成绩排序(结构体专题)
- 我理解的java设计模式之单例模式
- Android studio 开发中怎样制作.9.png的图片
- 循环层
- 记2017年上交软院优才夏令营
- Docker 搭建开发环境