Fragement

package com.exmple.frage;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;

import com.bawei.shuaxi.PullToRefreshLayout;
import com.bawei.shuaxi.PullToRefreshLayout.OnRefreshListener;
import com.bawei.shuaxi.PullableListView;
import com.exmple.apa.NewShuju;
import com.exmple.help.MyHelp;
import com.exmple.jinritoutiao.R;
import com.exmple.jinritoutiao.XiangqingActivity;
import com.exmple.net.NetUtil;
import com.exmple.tools.Urlclass;
import com.exmple.vo.MyData;
import com.exmple.vo.Super;
import com.google.gson.Gson;

import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class Fragment_2 extends Fragment {

	Handler ha = new Handler() {

		public void handleMessage(android.os.Message msg) {
			if (msg.what == 1) {
				String ma = (String) msg.obj;
				Gson gs = new Gson();
				Super fromJson = gs.fromJson(ma, Super.class);
				list = fromJson.getData();
				lists = list;
				update();
			}
			if (msg.what == 2) {
				String ma = (String) msg.obj;
				Gson gs = new Gson();
				Super fromJson = gs.fromJson(ma, Super.class);
				list = fromJson.getData();
				lists.addAll(list);
				update();
			}

			// lists.addAll(list);

			listview.setOnItemClickListener(new OnItemClickListener() {

				@Override
				public void onItemClick(AdapterView<?> parent, View view,
						int position, long id) {

					Intent ints = new Intent(getActivity(),
							XiangqingActivity.class);
					ints.putExtra("info1", list.get(position).getUrl());
					ints.putExtra("im", list.get(position).getDisplay_url());
					ints.putExtra("title", list.get(position).getTitle());

					startActivity(ints);

				}
			});

		}

	};
	int page=0;
	private TextView category;
	private List<MyData> list;
	private List<MyData> lists = new ArrayList<MyData>();
	private PullableListView listview;

	private NewShuju ne;

	private SQLiteDatabase sql;

	private View view;

	private PullToRefreshLayout layout;

	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {

		if (view == null) {
			view = inflater.inflate(R.layout.news_fragment, null);
			layout = (PullToRefreshLayout) view.findViewById(R.id.layout);

		}
		ViewGroup vp = (ViewGroup) view.getParent();
		if (vp != null) {
			vp.removeAllViews();

		}

		MyHelp myHelp = new MyHelp(getActivity(), "navs", null, 1);
		sql = myHelp.getWritableDatabase();
		listview = (PullableListView) view.findViewById(R.id.listview1);

		category = (TextView) view.findViewById(R.id.category_line);
		Date();
		setJson();

		layout.setOnRefreshListener(new OnRefreshListener() {

			@Override
			public void onRefresh(final PullToRefreshLayout pullToRefreshLayout) {
				ha.postDelayed(new Runnable() {
					@Override
					public void run() {

						setJson();
						pullToRefreshLayout
								.refreshFinish(PullToRefreshLayout.SUCCEED);
					}

				}, 1000);

				pullToRefreshLayout.refreshFinish(PullToRefreshLayout.SUCCEED);

			}

			@Override
			public void onLoadMore(final PullToRefreshLayout pullToRefreshLayout) {

				ha.postDelayed(new Runnable() {

					@Override
					public void run() {

						// setJson();
						Bundle b = getArguments();
						if (b != null) {
							String string1 = b.getString("text");
							System.out.println(string1 + "0000000");

							// 调用方法
							HashMap<String, String> urls = Urlclass.getUrl();
							// 获取对应的 URL
							final String url = urls.get(string1);

							new Thread() {
								public void run() {

									String str1 = NetUtil.getUrl(url+page);
									ha.sendMessage(ha.obtainMessage(2, str1));

								};
							}.start();

						}
						// 千万别忘了告诉控件加载完毕了哦!
						pullToRefreshLayout
								.loadmoreFinish(PullToRefreshLayout.SUCCEED);

					}
				}, 1000);
			}
		});

		return view;
	}

	private void setJson() {
		Bundle b = getArguments();
		if (b != null) {
			String string1 = b.getString("text");
			System.out.println(string1 + "0000000");

			// 调用方法
			HashMap<String, String> urls = Urlclass.getUrl();
			// 获取对应的 URL
			final String url = urls.get(string1);

			new Thread() {
				public void run() {

					String str1 = NetUtil.getUrl(url);
					ha.sendMessage(ha.obtainMessage(1, str1));

				};
			}.start();

		}

	}

	private void Date() {
		Calendar c = Calendar.getInstance();
		// 获取当前年份
		String mYear = String.valueOf(c.get(Calendar.YEAR));
		// 获取当前月份
		String mMonth = String.valueOf(c.get(Calendar.MONTH) + 1);
		// 获取当前月份的日期号码
		String mDay = String.valueOf(c.get(Calendar.DAY_OF_MONTH));
		// 获取当前星期 他获得的是数字1 2 3 4 5 6所以根据数字换一下
		String mWay = String.valueOf(c.get(Calendar.DAY_OF_WEEK));
		if ("1".equals(mWay)) {
			mWay = "天";
		} else if ("2".equals(mWay)) {
			mWay = "一";
		} else if ("3".equals(mWay)) {
			mWay = "二";
		} else if ("4".equals(mWay)) {
			mWay = "三";
		} else if ("5".equals(mWay)) {
			mWay = "四";
		} else if ("6".equals(mWay)) {
			mWay = "五";
		} else if ("7".equals(mWay)) {
			mWay = "六";
		}
		category.setText(mYear + "." + mMonth + "." + mDay + "             星期"
				+ mWay + "              " + "今天");

	}

	private void update() {
		if (ne == null) {
			ne = new NewShuju(list, getActivity(), listview);
			listview.setAdapter(ne);

		} else {
			ne.UpDataAdapter(lists);
		}

	};

}

  

时间: 2024-10-05 23:58:12

Fragement的相关文章

Android Fragement学习笔记(三)----PreferenceFragment使用

我相信每个人都Perference大家都比较熟悉,这就是我们常说的偏好,首选项设置,一些数据可以保存.例如,一些元件的,我们使用上次.希望下次启动后仍然生效,烦.一般这个时候我们便会使用perference键值对的方式来处理,在android3.0之前,我们一般去继承Preference这个基类去给用户呈现一个能够设置的界面.当中的layout须要自己编写,今天我们研究的是3.0之后使用碎片技术的首选项配置方法,即使用PreferenceFragement来实现. ---------------

Android的Fragement基础

在Android3.0的时候,为了适配平板等大屏幕,谷歌引入了碎片(Fragement)的概念. Fragement可以有自己的布局,同时又可以相当于控件一样显示在Activity里.可以动态添加,也可以静态添加. Fragement的生命周期和Activity很相似,在Activity的基础上多了五个方法: onAttach -> onCreate -> oncreateView -> onActivityCreated -> onStart -> onResume -&g

FragmentActivity+FragmentTabHost+Fragement替代TabActibvity+TabHost+Activity

自Android3.2之后,TabActibvity被弃用(Deprecated).取而代之的是FragmentActivity.由于Fragment比Activiy更灵活.消耗的资源更小.全然可以满足TabActivity的效果,所以直接替代之.原来的TabActibvity+TabHost+Activity那套还可以用,只是强烈建议改用FragmentActivity+FragmentTabHost+Fragement FragmentTabHost使用方法: 1. 定义FragmentAc

Android典型界面设计(7) ——DrawerLayout+Fragement+ViewPager+PagerTabStrip实现双导航

一.问题描述 在Android典型界面设计(3)的我们实现了双导航效果,即外层底部导航和内部区域的头部导航,如网易新闻等很多应用采用了这种导航,但Google提供DrawerLayout可实现抽屉式导航,建议使用DrawerLayout代替底部导航,下面我们就使用官方提供的DrawerLayout+Fragement+ViewPager+PagerTabStrip实现下图效果: 二.本例相关技术 1. DrawerLayout 抽屉式导航 2. Fragment管理 3. ViewPager和P

最新的sdk(22.6.2)新建一个没有fragement的工程

对于初学者来说,你是否不知道如和下手,为什么每次视频讲的东西都不能在程序里运行处效果来,那是因为从3.0以后,新加了fragement,而视频里都是这个版本之前的.如何新建一个没有fragement的工程呢?经过我的尝试,步骤如下: 1.新建安卓工程 2.定义工程名.包名 3.点击下一步,将红色部分的勾去掉 4.点击下一步 5.点击下一步,红色部分勾掉 6.点击下完成 7.新建activity package com.liuc.ui; import android.app.Activity; i

在PreferenceAcitity中使用Fragement时避免额外的Left和RightPadding

On Android 4.4 遇到过这种问题: 注意到.上面的ActionBar部分的左右各有48像素的padding. 要了解该问题的成因,要首先了解其结构: 该页面的Activity是一个PreferenceActivity,是个三级页面,是通过上一个PreferenceActivity调用startWithFragment启动的: 该页面的内容是放置了一个Fragment.该Fragment.实现了自己的ActionBar (ActionBar是来自Fragment而不是Acitivity

android fragement之间互相传递参数

在Activity中加载Fragment的时候.有时候要使用多个Fragment切换.并传值到另外一个Fragment.也就是说两个Fragment之间进行参数的传递.查了很多资料.找到两种方法.一种是通过共同的Activity传递.这种方法是在Activity里面添加一个字段.来临时保存要一些值. 其实我开始想的是用SharedPreferences,不过想想太麻烦! 然后翻了一下Fragment的API.找到了另外一个方法来传递.就像Activity一样便捷的实现参数传递程序中的一段代码.是

Fragement理解

■ 初衷 可重用,碎片化UI,适应大屏幕pad和小屏幕手机 ■ 优点 自行控制加入,移除,交换. activity则由framework深度掌管. 切换流畅 ■ 事件传递

fragement切换动画效果的实现

标准动画: fragementTransaction.setTransition(FragmentTransation.TRANSIT_FRAGMENT_CLOSE); 自定义动画: fragementTransaction.setCustomAnimations(); 通过属性动画定义切换的动画细节: fragment_left_enter.xml <?xml version="1.0" encoding="utf-8"?> <setxmlns: