网路判断,上拉加载下拉刷新,点击2次返回

需要XlistView类库

private XListView lv;
	private int id = 0;
	private String dz = "http://api.fang.anjuke.com/m/android/1.3/shouye/recInfosV3/?city_id=14&lat=40.04652&lng=116.306033&api_key=androidkey&sig=9317e9634b5fbc16078ab07abb6661c5&macid=45cd2478331b184ff0e15f29aaa89e3e&app=a-ajk&_pid=11738&o=PE-TL10-user+4.4.2+HuaweiPE-TL10+CHNC00B260+ota-rel-keys%2Crelease-keys&from=mobile&m=Android-PE-TL10&cv=9.5.1&cid=14&i=864601026706713&v=4.4.2&qtime=20160411091603&pm=b61&uuid=1848c59c-185d-48d9-b0e9-782016041109&_chat_id=";
	private String url = dz + id;
	private MyListAdapter adapter;
	private MyListView myListView;
	private List<RowsBean> list = new ArrayList<RowsBean>();
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		checkNetWorkInfo();//
		lv = (XListView) findViewById(R.id.lv);
		indata();
	}
	private SharedPreferences preferences;
	private void checkNetWorkInfo() {
		if (!Wang.isNetworkAvailable(this)) {
			new AlertDialog.Builder(this)
					.setTitle("提示!")
					.setIcon(android.R.drawable.ic_dialog_info)
					.setMessage("检测到你还没开启网络,请开启")
					.setNegativeButton("取消",
							new DialogInterface.OnClickListener() {

							

								@Override
								public void onClick(DialogInterface dialog,
										int which) {
									preferences = getSharedPreferences(
											"wang", MODE_PRIVATE);
									Editor editor = preferences.edit();
									editor.putBoolean("fa", false);
									editor.commit();

								}
							})
					.setPositiveButton("开启",
							new DialogInterface.OnClickListener() {

								@Override
								public void onClick(DialogInterface dialog,
										int which) {
									startActivity(new Intent(
											Settings.ACTION_WIRELESS_SETTINGS));// 进入无线网络配置界面
									startActivity(new Intent(
											Settings.ACTION_WIFI_SETTINGS)); // 进入手机中的wifi网络设置界面
								}
							}).show();
		}
	}

	private void indata() {
		HttpUtils httpUtils = new HttpUtils();
		httpUtils.send(HttpMethod.GET, url, new RequestCallBack<String>() {

			@Override
			public void onFailure(HttpException arg0, String arg1) {
				System.out.println(arg0 + "失败" + arg1);

			}

			@Override
			public void onSuccess(ResponseInfo<String> arg0) {
				String json = arg0.result;
				Gson gson = new Gson();
				d js = gson.fromJson(json, d.class);
				list.addAll(js.getResult().getRows());
				if (adapter == null) {
					adapter = new MyListAdapter(list, MainActivity.this);
					myListView = new MyListView(lv, adapter) {

						@Override
						public void shuaXin() {
							list.clear();
							id = 0;
							url = dz + id;
							indata();

						}

						@Override
						public void jiaZai() {
							id++;
							url = dz + id;
							indata();

						}
					};
				} else {
					adapter.notifyDataSetChanged();
					myListView.onOK();
				}
				
			}
		});

	}
	//点击二次退出
	private long exitTime = 0;
	@Override
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		
		if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
			if (keyCode == KeyEvent.KEYCODE_BACK
					&& event.getAction() == KeyEvent.ACTION_DOWN) {
				if ((System.currentTimeMillis() - exitTime) > 2000) {
					Toast toast = Toast.makeText(getApplicationContext(),
							"再按一次退出程序", Toast.LENGTH_SHORT);
					toast.setGravity(BIND_ABOVE_CLIENT, 0, 0);
					toast.show();
					exitTime = System.currentTimeMillis();
				} else {
					finish();
					System.exit(0);
				}
			} else {

			}

			return true;
		}
		return super.onKeyDown(keyCode, event);
	}

/权限
 <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

适配器

public class MyListAdapter extends BaseAdapter{
	private List<RowsBean> list;
	private Context context;
	
	public MyListAdapter(List<RowsBean> list, Context context) {
		super();
		this.list = list;
		this.context = context;
	}

	@Override
	public int getCount() {
		// TODO Auto-generated method stub
		return list.size();
	}

	@Override
	public Object getItem(int position) {
		// TODO Auto-generated method stub
		return list.get(position);
	}

	@Override
	public long getItemId(int position) {
		// TODO Auto-generated method stub
		return position;
	}

	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		if (convertView == null) {
			convertView = View.inflate(context, R.layout.wenjian,
					null);
		}
		ImageView img=(ImageView) convertView.findViewById(R.id.img);
		ImageLoader.getInstance().displayImage(list.get(position).getInfo().getDefault_image(), img);
		TextView name = (TextView) convertView.findViewById(R.id.name);
		name.setText(list.get(position).getInfo().getLoupan_name());
		TextView name1 = (TextView) convertView.findViewById(R.id.en1);
		name1.setText(list.get(position).getInfo().getLoupan_property_type());
		TextView name2 = (TextView) convertView.findViewById(R.id.en2);
		name2.setText(list.get(position).getInfo().getNew_price_back());
		TextView name3 = (TextView) convertView.findViewById(R.id.en3);
		name3.setText(list.get(position).getInfo().getNew_price_value());
		TextView name4 = (TextView) convertView.findViewById(R.id.en4);
		name4.setText(list.get(position).getInfo().getRegion_title());
		return convertView;
	}

}

布局文件

 <com.riso.myxlistview.XListView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/lv" />

import com.nostra13.universalimageloader.cache.disc.naming.HashCodeFileNameGenerator;
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
import com.nostra13.universalimageloader.cache.memory.impl.WeakMemoryCache;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
import com.nostra13.universalimageloader.core.assist.QueueProcessingType;
import android.app.Application;
//加载图片
public class MyApplication extends Application {

	@Override
	public void onCreate() {
		super.onCreate();

		DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder()
				.cacheInMemory(true).imageScaleType(ImageScaleType.EXACTLY)
				.cacheOnDisk(true).build();
		ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
				this)
				.threadPoolSize(3)
				// default
				.threadPriority(Thread.NORM_PRIORITY - 2)
				.denyCacheImageMultipleSizesInMemory()
				.diskCacheFileNameGenerator(new Md5FileNameGenerator())
				.tasksProcessingOrder(QueueProcessingType.LIFO)
				.denyCacheImageMultipleSizesInMemory()
				// .memoryCache(new LruMemoryCache((int) (6 * 1024 * 1024)))
				.memoryCache(new WeakMemoryCache())
				.memoryCacheSize((int) (2 * 1024 * 1024))
				.memoryCacheSizePercentage(13)
				// default
				// .diskCache(new UnlimitedDiscCache(cacheDir))
				// default
				.diskCacheSize(50 * 1024 * 1024).diskCacheFileCount(100)
				.diskCacheFileNameGenerator(new HashCodeFileNameGenerator())
				.defaultDisplayImageOptions(defaultOptions).writeDebugLogs() // Remove
				.build();
		// Initialize ImageLoader with configuration.
		ImageLoader.getInstance().init(config);
	}

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值