package com.example.dc; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.json.JSONArray; import org.json.JSONObject; import com.example.dc.MainActivity; import com.example.dc.R; import com.lianjie.connect.Connect; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.zdm.util.Util; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import android.os.Bundle; import android.os.StrictMode; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager.OnPageChangeListener; import android.util.Log; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.view.Window; import android.widget.BaseAdapter; import android.widget.ImageButton; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.SimpleAdapter; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends Activity implements OnClickListener{ private ViewPager mViewPager; private PagerAdapter mAdapter; private List mViews = new ArrayList(); private LinearLayout mTabtese; private LinearLayout mTabcaidan; private LinearLayout mTabzhangdan; String[] jianjie; String[] caiming; String[] jieshao; String[] jiage; String[] tupian; String[] caiming2; String[] jiage2; ListView teselv; ListView caidanlv; ListView zhangdanlv; ArrayList> mlist; SimpleAdapter adapter; ArrayList> mlist2; SimpleAdapter adapter2; ArrayList> mlist3; SimpleAdapter adp; String jianjievlue; String caimingvlue; String caiming2vlue; private ImageButton teseImg; private ImageButton caidanImg; private ImageButton zhangdanImg; private TextView zh; // ******************************************** private ListView imgsLv; private ImageLoader loader; private DisplayImageOptions options; private String[] arr = new String[] { "http://t12.baidu.com/it/u=3892037522,4148855209&fm=59", "http://t12.baidu.com/it/u=176596478,1719464859&fm=59", "http://t10.baidu.com/it/u=2563391112,3174229346&fm=59", "http://t11.baidu.com/it/u=38767480,4056423661&fm=59", "http://t12.baidu.com/it/u=2188089986,1772099895&fm=59", "http://t10.baidu.com/it/u=4010714787,2970343447&fm=59", "http://t11.baidu.com/it/u=2520234337,3270250852&fm=59", "http://t10.baidu.com/it/u=2395220391,4053197141&fm=59", }; // ******************************************** @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main); if(android.os.Build.VERSION.SDK_INT > 13) { StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy); } teseServlet();//每个表对应一个************ caidanServlet(); zhangdanServlet(); initView(); initEvents(); // getIntentData(); loader = ImageLoader.getInstance(); options = new DisplayImageOptions.Builder() .showImageOnLoading(R.drawable.ic_launcher) // 正在加载 .showImageForEmptyUri(R.drawable.ic_launcher) // 空图片 .showImageOnFail(R.drawable.ic_launcher) // 错误图片 .cacheInMemory(true).cacheOnDisk(true).considerExifParams(true) .bitmapConfig(Bitmap.Config.RGB_565).build(); imgsLv = (ListView) findViewById(R.id.caidanlv); InsBaseAdp adp = new InsBaseAdp(this); imgsLv.setAdapter(adp); } class InsBaseAdp extends BaseAdapter { private Context context; public InsBaseAdp(Context context) { this.context = context; } @Override public int getCount() { // TODO Auto-generated method stub return arr.length; } @Override public Object getItem(int position) { // TODO Auto-generated method stub return position; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub ViewHolder holder; if (convertView == null) { convertView = LayoutInflater.from(context).inflate( R.layout.caidan2, null); holder = new ViewHolder(); holder.tuImg = (ImageView) convertView .findViewById(R.id.img_tu); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } loader.displayImage(arr[position], holder.tuImg, options); return convertView; } } private static class ViewHolder { private ImageView tuImg; } // private void getIntentData() { // // TODO Auto-generated method stub // Intent intent=getIntent(); // Bundle bundle=intent.getExtras(); //// int flag=bundle.getInt("flag"); //// switch (flag) { //// case 1: //// zh.setText(bundle.getString("zhuo1Text")); //// break; //// case 2: //// zh.setText(bundle.getString("zhuo2Text")); //// break; //// case 3: //// zh.setText(bundle.getString("zhuo3Text")); //// break; //// case 4: //// zh.setText(bundle.getString("zhuo4Text")); //// break; //// case 5: //// zh.setText(bundle.getString("zhuo5Text")); //// break; //// case 6: //// zh.setText(bundle.getString("zhuo6Text")); //// break; //// case 7: //// zh.setText(bundle.getString("zhuo7Text")); //// break; //// case 8: //// zh.setText(bundle.getString("zhuo8Text")); //// break; //// case 9: //// zh.setText(bundle.getString("zhuo9Text")); //// break; //// case 10: //// zh.setText(bundle.getString("zhuo10Text")); //// break; //// case 11: //// zh.setText(bundle.getString("zhuo11Text")); //// break; //// case 12: //// zh.setText(bundle.getString("zhuo12Text")); //// break; //// default: //// break; //// } // // // } private void initEvents() { //给底部的4个LinearLayout即4个导航控件添加点击事件 mTabtese.setOnClickListener(this); mTabcaidan.setOnClickListener(this); mTabzhangdan.setOnClickListener(this); //viewpager滑动事件 mViewPager.setOnPageChangeListener(new OnPageChangeListener() { @Override public void onPageSelected(int arg0) {//当viewpager滑动时,对应的底部导航按钮的图片要变化 int currentItem = mViewPager.getCurrentItem(); resetImg(); switch (currentItem) { case 0: teseImg.setImageResource(R.drawable.bottom1); break; case 1: caidanImg.setImageResource(R.drawable.bottom2); break; case 2: zhangdanImg.setImageResource(R.drawable.bottom3); break; default: break; } } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { // TODO Auto-generated method stub } @Override public void onPageScrollStateChanged(int arg0) { // TODO Auto-generated method stub } }); } private void initView() {//初始化所有的view zh=(TextView) findViewById(R.id.zh); caidanlv=(ListView)findViewById(R.id.caidanlv); mViewPager = (ViewPager) findViewById(R.id.id_viewpager); //tabs mTabtese = (LinearLayout) findViewById(R.id.tese); mTabcaidan = (LinearLayout) findViewById(R.id.caidan); mTabzhangdan = (LinearLayout) findViewById(R.id.zhangdan); //imagebutton teseImg = (ImageButton)findViewById(R.id.tese_img); caidanImg = (ImageButton)findViewById(R.id.caidan_img); zhangdanImg = (ImageButton)findViewById(R.id.zhangdan_img); //通过LayoutInflater引入布局,并将布局转化为view LayoutInflater mInflater = LayoutInflater.from(this);//创建一个LayoutInflater对象 View tab01 = mInflater.inflate(R.layout.tese, null);//通过inflate方法动态加载一个布局文件 View tab02 = mInflater.inflate(R.layout.cd, null); View tab03 = mInflater.inflate(R.layout.zd, null); mViews.add(tab01); mViews.add(tab02); mViews.add(tab03); //初始化PagerAdapter mAdapter = new PagerAdapter() { @Override public void destroyItem(ViewGroup container, int position, Object object) { // TODO Auto-generated method stub container.removeView(mViews.get(position)); } @Override public Object instantiateItem(ViewGroup container, int position) { View view = mViews.get(position);//从mViews这个list中根据位置取出我们需要的view if(position==0){ teselv=(ListView)view.findViewById(R.id.teselv); /**********************************************************/ ArrayList> mlist = new ArrayList>(); for (int i = 0; i < jianjie.length; i++) { Map map = new HashMap(); map.put("jianjie", jianjie[i]); mlist.add(map); } SimpleAdapter adapter1 = new SimpleAdapter(MainActivity.this, mlist, R.layout.tese2, new String[] { "jianjie"}, new int[] { R.id.tesetv2}); teselv.setAdapter(adapter1); } else if(position==1){ caidanlv=(ListView)view.findViewById(R.id.caidanlv); /**********************************************************/ ArrayList> mlist2 = new ArrayList>(); for (int i = 0; i < caiming.length; i++) { Map map2 = new HashMap(); map2.put("caiming", caiming[i]); map2.put("jieshao", jieshao[i]); map2.put("jiage", jiage[i]); map2.put("tupian", tupian[i]); mlist2.add(map2); } SimpleAdapter adapter2 = new SimpleAdapter(MainActivity.this, mlist2, R.layout.caidan2, new String[] { "caiming","jieshao","jiage","tupian"}, new int[] { R.id.caiming,R.id.jieshao,R.id.jiage,R.id.img_tu}); caidanlv.setAdapter(adapter2); } else if(position==2){ zhangdanlv=(ListView)view.findViewById(R.id.zhangdanlv); /**********************************************************/ ArrayList> mlist3 = new ArrayList>(); for (int i = 0; i < caiming2.length; i++) { Map map3 = new HashMap(); map3.put("caiming", caiming2[i]); map3.put("jiage", jiage2[i]); mlist3.add(map3); } SimpleAdapter adapter3 = new SimpleAdapter(MainActivity.this, mlist3, R.layout.zhangdan2, new String[] { "caiming","jiage"}, new int[] { R.id.caiming2,R.id.jiage2}); zhangdanlv.setAdapter(adapter3); } container.addView(view);//将上述的view添加到ViewGroup中 return view; } /* * isViewFromObject用来判断instantiateItem(ViewGroup, int)函数所返回来的Key与一个页面视图是否是代表 * 的同一个视图(即它俩是否是对应的,对应的表示同一个View),如果对应的是同一个View,返回True,否则返回False * */ @Override public boolean isViewFromObject(View arg0, Object arg1) { // TODO Auto-generated method stub return arg0 == arg1; } @Override public int getCount() { // 返回PagerView包含的view的个数 return mViews.size(); } }; //为ViewPager设置adapter mViewPager.setAdapter(mAdapter); } @Override public void onClick(View v) { resetImg();//点击哪个tab,对应的颜色要变亮,因此,在点击具体的tab之前先将所有的图片都重置为未点击的状态,即暗色图片 switch (v.getId()) { case R.id.tese: mViewPager.setCurrentItem(0);//如果点击的是微信,就将viewpager的当前item设置为0,及切换到微信聊天的viewpager界面 teseImg.setImageResource(R.drawable.bottom1);//并将按钮颜色点亮 break; case R.id.caidan: mViewPager.setCurrentItem(1); caidanImg.setImageResource(R.drawable.bottom2); caidanlv=(ListView)findViewById(R.id.caidanlv); ArrayList> mlist2 = new ArrayList>(); for (int i = 0; i < caiming.length; i++) { Map map2 = new HashMap(); map2.put("caiming", caiming[i]); map2.put("jieshao", jieshao[i]); map2.put("jiage", jiage[i]); map2.put("tupian", tupian[i]); mlist2.add(map2); } SimpleAdapter adapter2 = new SimpleAdapter(MainActivity.this, mlist2, R.layout.caidan2, new String[] { "caiming","jieshao","jiage","tupian"}, new int[] { R.id.caiming ,R.id.jieshao ,R.id.jiage ,R.id.img_tu }); caidanlv.setAdapter(adapter2); break; case R.id.zhangdan: mViewPager.setCurrentItem(2); zhangdanImg.setImageResource(R.drawable.bottom3); /**********************************************************/ ArrayList> mlist3 = new ArrayList>(); for (int i = 0; i < caiming2.length; i++) { Map map3 = new HashMap(); map3.put("caiming", caiming2[i]); map3.put("jiage", jiage2[i]); mlist3.add(map3); } SimpleAdapter adapter3 = new SimpleAdapter(MainActivity.this, mlist3, R.layout.zhangdan2, new String[] { "caiming","jiage"}, new int[] { R.id.caiming2,R.id.jiage2}); zhangdanlv.setAdapter(adapter3); break; default: break; } } /* * 将所有的图片设置为暗色 * */ private void resetImg() { teseImg.setImageResource(R.drawable.tab_weixin_normal); caidanImg.setImageResource(R.drawable.tab_find_frd_normal); zhangdanImg.setImageResource(R.drawable.tab_address_normal); } private void teseServlet() { String url=Util.httpURL+"teseServlet"; String paraname[]={"jianjie"}; String paravalue[]={jianjievlue}; JSONArray jsonainfo =Connect.dopost(url, paraname, paravalue, 1,"info"); if(jsonainfo==null) { Toast.makeText(MainActivity.this, "暂时无法读取数据!", Toast.LENGTH_LONG) .show(); } else { JSONObject jsonobject; try { jianjie=new String[jsonainfo.length()]; for(int i=0;i