首页 > 代码库 > android 开源项目(城市定位)

android 开源项目(城市定位)

import java.util.ArrayList;


import org.json.JSONArray;

import org.json.JSONException;

import org.json.JSONObject;

import org.lfg.Utils.MyVolley;

import org.lfg.Utils.StringRequestUTF;

import org.lfg.cityselect_activity.CityHomeActivity;

import org.lfg.widgets.ListViewForScrollView;


import BaseAdapter.Contains;

import android.annotation.SuppressLint;

import android.content.Intent;

import android.os.Bundle;

import android.support.v4.app.Fragment;

import android.view.LayoutInflater;

import android.view.View;

import android.view.View.OnClickListener;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.Button;

import android.widget.ImageButton;

import android.widget.ImageView;

import android.widget.ScrollView;

import android.widget.TextView;

import android.widget.Toast;


import com.android.volley.Request.Method;

import com.android.volley.RequestQueue;

import com.android.volley.Response.ErrorListener;

import com.android.volley.Response.Listener;

import com.android.volley.VolleyError;

import com.android.volley.toolbox.StringRequest;

import com.example.nuomi.AllActivity;

import com.example.nuomi.R;

import com.handmark.pulltorefresh.library.MyScrollView;

import com.handmark.pulltorefresh.library.MyScrollView.OnScrollListener;

import com.handmark.pulltorefresh.library.PullToRefreshBase;

import com.handmark.pulltorefresh.library.PullToRefreshBase.OnRefreshListener;

import com.handmark.pulltorefresh.library.PullToRefreshScrollView;

import com.nostra13.universalimageloader.core.DisplayImageOptions;

import com.nostra13.universalimageloader.core.ImageLoader;


public class todayFragment extends Fragment  

{

private ListViewForScrollView mlistmnue;

private PullToRefreshScrollView mScrollview;

protected ImageLoader imageLoader = ImageLoader.getInstance();

private ArrayList<MenuList>  context = new ArrayList<todayFragment.MenuList>();

private String strUrl = Contains.strUrl;

private DisplayImageOptions options;

private mlistmnueAdapter mAdapter;

private TextView mTvall;

private ImageButton mBtnBackTop;

private Button mLocationcity;

    

@Override

  public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) 

  {

View layout = inflater.inflate(R.layout.home, null);

        InitUI(layout);

Options();

InitScroll(layout);

HttpConn();

return layout;

  }

/*

 *  却接受CityHomeActivity的消息

 */

@Override

public void onActivityResult(int requestCode, int resultCode, Intent data) {

if(data != null)

{

if(resultCode == 1)

{

String cityName = data.getStringExtra("city");

int end = cityName.indexOf("市");

mLocationcity.setText(cityName.substring(0, end));

}

}else

{

          Toast.makeText(getActivity(), "亲!定位失败哦~~~", Toast.LENGTH_SHORT).show();

}

super.onActivityResult(requestCode, resultCode, data);

}

private void InitUI(View layout) {

mBtnBackTop = (ImageButton) layout.findViewById(R.id.img_backtop);

         mBtnBackTop.setOnClickListener(new OnClickListener() {


@Override

public void onClick(View v) {

ScrollView scrollView = (ScrollView) mScrollview.findViewById(R.id.scrollview);

scrollView.smoothScrollTo(0, 0);

}

});

         

//       跳转全部团购页面

         TextView find_more = (TextView) layout.findViewById(R.id.find_more);

         find_more.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

                Intent intent = new Intent(getActivity(),AllActivity.class);

startActivity(intent );                      

}

});

         

//       定位城市事件

         mLocationcity = (Button) layout.findViewById(R.id.btn_locationcity);

         mLocationcity.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

Intent intent = new Intent(getActivity(),CityHomeActivity.class);

startActivityForResult(intent, 0);

}

});

         

}

 


@SuppressLint("NewApi")

private void HttpConn() {

Listener<String> listener = new Listener<String>() 

{

@Override

public void onResponse(String response) 

{

try {

JSONObject  jsonObj = new JSONObject(response);

JSONArray jsonarr = jsonObj.getJSONArray("deals");

    for (int i = 0; i < jsonarr.length(); i++) 

    {

    JSONObject jsonObject = jsonarr.getJSONObject(i);

String name = jsonObject.getString("name");

String thumbnail = jsonObject.getString("thumbnail");

String solds = jsonObject.getString("solds");

String price = jsonObject.getString("price");

String value = http://www.mamicode.com/jsonObject.getString("value");

String title = jsonObject.getString("title");

MenuList menuList = new MenuList(name,thumbnail,solds,price,value,title);

context.add(menuList);

}

} catch (JSONException e) {

e.printStackTrace();

}

mAdapter.notifyDataSetChanged();

}

};

ErrorListener errorListener = new ErrorListener() 

{

@Override

public void one rrorResponse(VolleyError error) 

{

//   Toast.makeText(getActivity(), "网络连接有问题"+error, Toast.LENGTH_SHORT).show();

}

};

volleyGet(strUrl, listener, errorListener);

}


// 下载文件(注意结合ListView 数据设置始终是去设置ListView)

private void volleyGet(String url, Listener<String> listener,

ErrorListener errorListener)

{

RequestQueue queue = MyVolley.getRequestQueue();

StringRequest request =

new StringRequestUTF(Method.GET,url,listener,errorListener);

queue.add(request);

}

//  图片下载前、显示

private void Options() 

{

options = new DisplayImageOptions.Builder()

.showImageOnLoading(R.drawable.about_logo)

.showImageForEmptyUri(R.drawable.about_logo)

.showImageOnFail(R.drawable.about_logo)

.cacheInMemory(true)

.cacheOnDisk(true)

.considerExifParams(true)

// .displayer(new RoundedBitmapDisplayer(8))

.build();

}

 

// 解决ScrollView滑动的问题

private void InitScroll(View layout) {

mlistmnue = (ListViewForScrollView) layout.findViewById(R.id.listViewForScrollView1);

mAdapter = new mlistmnueAdapter();

mlistmnue.setAdapter(mAdapter);

// 使用ScrollView滑动到最顶部

        mScrollview = (PullToRefreshScrollView) layout.findViewById(R.id.scrollView1);

        MyScrollView scrollView = (MyScrollView) mScrollview.findViewById(R.id.scrollview);

        

        scrollView.setOnScrollListener(new OnScrollListener() {

@Override

public void onScroll(int scrollY) {

if (scrollY == 0)

{

mBtnBackTop.setVisibility(View.INVISIBLE);

}

else

{

mBtnBackTop.setVisibility(View.VISIBLE);

}

}

});

        

        scrollView.smoothScrollTo(0, 0);

        

        mScrollview.setOnRefreshListener(new OnRefreshListener() {

@Override

public void onRefresh(PullToRefreshBase refreshView) {

new Thread()

{

@Override

public void run() {

try {

Thread.sleep(3000);

} catch (InterruptedException e) {

 

e.printStackTrace();

}

getActivity().runOnUiThread( new Runnable() {

public void run() {

mScrollview.onRefreshComplete();

}

});

}

}.start();

}

});

}   

private ImageView mbackTop;

//    设置适配器

class mlistmnueAdapter extends BaseAdapter

{

@Override

public View getView(int position, View convertView, ViewGroup parent) 

{

ListInfo listInfo = null;

View inflate = null;

if(convertView == null)

{

listInfo = new ListInfo();

inflate = getActivity().getLayoutInflater().inflate(R.layout.munulist, null);

listInfo.LTiltle = (TextView) inflate.findViewById(R.id.Title);

listInfo.LStore = (TextView) inflate.findViewById(R.id.Store);

listInfo.LDesContext = (TextView) inflate.findViewById(R.id.DesContext);

listInfo.LCurrprice = (TextView) inflate.findViewById(R.id.Currprice);

listInfo.LOldprice = (TextView) inflate.findViewById(R.id.Oldprice);

listInfo.LCount = (TextView) inflate.findViewById(R.id.Count);

listInfo.mImageView = (ImageView) inflate.findViewById(R.id.image_advertes);

 

// 解决如何去实现点击跳到顶部

// mbackTop = (ImageView) inflate.findViewById(R.id.img_backtop);

 

inflate.setTag(listInfo);

}

else

{

inflate = convertView;

listInfo = (ListInfo) inflate.getTag();

}

// scrollView.smoothScrollTo(0, 0);

MenuList menuList = context.get(position);

listInfo.LTiltle.setText(menuList.name);

String img = menuList.thumbnail;

imageLoader .displayImage(

img, 

listInfo.mImageView, 

options, 

null);

return inflate;

}

@Override

public int getCount() 

{

return context.size();

}


@Override

public Object getItem(int position) 

{

return null;

}


@Override

public long getItemId(int position) 

{

return 0;

}

}

 

class ListInfo 

{

TextView LTiltle ;

TextView LStore;

TextView LDesContext;

TextView LCurrprice;

TextView LOldprice;

TextView LCount;

ImageView mImageView;

   }

class MenuList 

{

private String name;

private String thumbnail;

private String solds;

private String price;

private String value;

private String address;


public MenuList(String name, String thumbnail, String solds,

String price, String value, String address) {

this.name = name;

this.thumbnail = thumbnail;

this.solds = solds;

this.price = price;

this.value = http://www.mamicode.com/value;

this.address = address;

}


@Override

public String toString() {

return "MenuList [name=" + name + ", img=" + thumbnail + ", solds="

+ solds + ", price=" + price + ", value="http://www.mamicode.com/+ value

+ ", address=" + address + "]";

}

}

 

}


本文出自 “android开发” 博客,请务必保留此出处http://9238253.blog.51cto.com/9228253/1535141