标签:
1 <string name="xlistview_header_hint_normal">下拉刷新</string> 2 <string name="xlistview_header_hint_ready">松开刷新数据</string> 3 <string name="xlistview_header_hint_loading">正在加载...</string> 4 <string name="xlistview_header_last_time">上次更新时间:</string> 5 <string name="xlistview_footer_hint_normal">查看更多</string> 6 <string name="xlistview_footer_hint_ready">松开载入更多</string>
1 <RelativeLayout 2 android:id="@+id/view_pager_banner_s" 3 android:layout_width="match_parent" 4 android:layout_height="220dp" > 5 6 <cn.trinea.android.view.autoscrollviewpager.AutoScrollViewPager 7 android:id="@+id/view_pager_banner" 8 android:layout_width="match_parent" 9 android:layout_height="220dp" /> 10 11 <TextView 12 android:id="@+id/position_get" 13 android:layout_width="wrap_content" 14 android:layout_height="wrap_content" 15 android:layout_alignParentBottom="true" 16 android:layout_marginBottom="5dp" 17 android:layout_marginLeft="10dp" 18 android:textColor="@android:color/white" 19 android:textSize="18sp" /> 20 21 <LinearLayout 22 android:layout_width="wrap_content" 23 android:layout_height="wrap_content" 24 android:layout_alignParentBottom="true" 25 android:layout_alignParentRight="true" 26 android:layout_marginBottom="5dp" 27 android:layout_marginRight="10dp" 28 android:orientation="horizontal" > 29 30 <ImageView 31 android:id="@+id/seachposition_one" 32 android:layout_width="wrap_content" 33 android:layout_height="wrap_content" 34 android:layout_marginRight="10dp" 35 android:background="@drawable/im_input_phiz_page_indicator_sel" /> 36 37 <ImageView 38 android:id="@+id/seachposition_two" 39 android:layout_width="wrap_content" 40 android:layout_height="wrap_content" 41 android:layout_marginRight="10dp" 42 android:background="@drawable/im_input_phiz_page_indicator_nor" /> 43 44 <ImageView 45 android:id="@+id/seachposition_three" 46 android:layout_width="wrap_content" 47 android:layout_height="wrap_content" 48 android:layout_marginRight="10dp" 49 android:background="@drawable/im_input_phiz_page_indicator_nor" /> 50 </LinearLayout> 51 </RelativeLayout>
1 package com.example.fragment; 2 3 import java.io.BufferedReader; 4 import java.io.IOException; 5 import java.io.InputStream; 6 import java.io.InputStreamReader; 7 import java.util.ArrayList; 8 import java.util.List; 9 10 import org.apache.http.HttpResponse; 11 import org.apache.http.HttpStatus; 12 import org.apache.http.client.ClientProtocolException; 13 import org.apache.http.client.HttpClient; 14 import org.apache.http.client.methods.HttpGet; 15 import org.apache.http.impl.client.DefaultHttpClient; 16 17 import android.content.Intent; 18 import android.os.Bundle; 19 import android.os.Handler; 20 import android.os.Message; 21 import android.support.v4.app.Fragment; 22 import android.support.v4.view.PagerAdapter; 23 import android.support.v4.view.ViewPager.OnPageChangeListener; 24 import android.util.Log; 25 import android.view.LayoutInflater; 26 import android.view.View; 27 import android.view.View.OnClickListener; 28 import android.view.ViewGroup; 29 import android.widget.AdapterView; 30 import android.widget.AdapterView.OnItemClickListener; 31 import android.widget.Button; 32 import android.widget.ImageView; 33 import android.widget.RelativeLayout; 34 import android.widget.TextView; 35 import android.widget.Toast; 36 37 import cn.trinea.android.view.autoscrollviewpager.AutoScrollViewPager; 38 39 import com.example.adapter.CompanyAdapter; 40 import com.example.model.Job; 41 import com.example.model.Tital; 42 import com.example.recruit_part.CityActivity; 43 import com.example.recruit_part.DetailsActivity; 44 import com.example.recruit_part.HomeActivity; 45 import com.example.recruit_part.ProfessionActivity; 46 import com.example.recruit_part.R; 47 import com.example.recruit_part.TradeActivity; 48 import com.example.view.ClearEditText; 49 import com.example.xlistview.XListView; 50 import com.example.xlistview.XListView.IXListViewListener; 51 import com.google.gson.Gson; 52 import com.lidroid.xutils.DbUtils; 53 import com.lidroid.xutils.db.sqlite.Selector; 54 import com.lidroid.xutils.exception.DbException; 55 56 /** 57 * 创建工作职位搜索界面 58 * 59 * @author Administrator 60 * 61 */ 62 @SuppressWarnings("all") 63 public class PositionFragment extends Fragment implements IXListViewListener { 64 int start = 0; 65 int loads = 10; 66 private XListView xListView; 67 private View v; 68 // private TextView seach_address;// 地点 69 // private TextView seach_industry;// 行业类别 70 // private TextView seach_position;// 职位类别 71 // private Button seach_all_message;// 精确搜索 72 private Button sure_seach;// 搜索 73 private ImageView seach_img1; 74 private ImageView seach_img2; 75 private ImageView seach_img3; 76 private ImageView seachposition_one; 77 private ImageView seachposition_two; 78 private ImageView seachposition_three; 79 private ClearEditText position_seach; 80 private CompanyAdapter adapter; 81 TextView position_get; 82 83 private List<Job> jobList = new ArrayList<Job>(); 84 private List<Job> list = new ArrayList<Job>(); 85 Handler handler = new Handler() { 86 87 public void handleMessage(android.os.Message msg) { 88 if (msg.what == 5 || msg.what == 4 ) { 89 getLoad(); 90 adapter = new CompanyAdapter(getActivity(), list); 91 xListView.setAdapter(adapter); 92 seach_xlistview_hide.setVisibility(View.GONE); 93 xListView.setOnItemClickListener(new OnItemClickListener() { 94 95 @Override 96 public void onItemClick(AdapterView<?> arg0, View arg1, 97 int arg2, long arg3) { 98 // TODO Auto-generated method stub 99 Intent intent = new Intent(getActivity(), 100 DetailsActivity.class); 101 intent.putExtra("pos", list.get(arg2 - 1)); 102 startActivity(intent); 103 } 104 }); 105 } 106 }; 107 }; 108 109 @Override 110 public View onCreateView(LayoutInflater inflater, ViewGroup container, 111 Bundle savedInstanceState) { 112 v = inflater.inflate(R.layout.positionfragment, null); 113 homeact = (HomeActivity) getActivity(); 114 HomeActivity.top_center.setText("热门职位"); 115 initview(); 116 return v; 117 } 118 119 /** 120 * 初始化控件 121 */ 122 private void initview() { 123 sure_seach = (Button) v.findViewById(R.id.sure_seach); 124 position_get = (TextView) v.findViewById(R.id.position_get); 125 sure_seach = (Button) v.findViewById(R.id.sure_seach); 126 seachposition_one = (ImageView) v.findViewById(R.id.seachposition_one); 127 seachposition_two = (ImageView) v.findViewById(R.id.seachposition_two); 128 seachposition_three = (ImageView) v 129 .findViewById(R.id.seachposition_three); 130 position_seach = (ClearEditText) v.findViewById(R.id.position_seach); 131 xListView = (XListView) v.findViewById(R.id.seach_xlistview); 132 seach_xlistview_hide = (RelativeLayout) v 133 .findViewById(R.id.seach_xlistview_hide); 134 view_pager_banner = (AutoScrollViewPager) v 135 .findViewById(R.id.view_pager_banner); 136 view_pager_banner.setOnPageChangeListener(pagelistener); 137 xListView.setTextFilterEnabled(true); 138 getimageShow(); 139 view_pager_banner.setAdapter(pageadp); 140 view_pager_banner.startAutoScroll(4000); 141 view_pager_banner.setCycle(true); 142 view_pager_banner.setInterval(4000); 143 view_pager_banner.setStopScrollWhenTouch(true); 144 view_pager_banner.setDirection(AutoScrollViewPager.RIGHT); 145 view_pager_banner 146 .setSlideBorderMode(AutoScrollViewPager.SLIDE_BORDER_MODE_CYCLE); 147 148 xListView.setPullLoadEnable(true); 149 xListView.setPullRefreshEnable(true); 150 xListView.setXListViewListener(this); 151 sure_seach.setOnClickListener(l); 152 seachposition_one.setOnClickListener(l); 153 seachposition_two.setOnClickListener(l); 154 seachposition_three.setOnClickListener(l); 155 // 创建数据库 156 dbUtils = DbUtils.create(getActivity(), "job.db"); 157 seach_xlistview_hide.setVisibility(View.VISIBLE); 158 // 解析数据 159 new Thread() { 160 161 public void run() { 162 HttpClient client = new DefaultHttpClient(); 163 HttpGet get = new HttpGet( 164 "http://group4.bwie.com.cn/index.php?r=company/search&stage=all&job=all"); 165 try { 166 HttpResponse response = client.execute(get); 167 if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { 168 InputStream is = response.getEntity().getContent(); 169 BufferedReader br = new BufferedReader( 170 new InputStreamReader(is)); 171 StringBuffer sb = new StringBuffer(); 172 String str = ""; 173 while ((str = br.readLine()) != null) { 174 sb.append(str); 175 } 176 Gson gson = new Gson(); 177 System.out.println("职位网络查询:" + sb.toString()); 178 Tital companyBean = gson.fromJson(sb.toString(), 179 Tital.class); 180 jobList = companyBean.getData().getContent() 181 .getRel_job(); 182 183 for (int i = 0; i < jobList.size(); i++) { 184 Job job = jobList.get(i); 185 dbUtils.save(job); 186 } 187 Message message = handler.obtainMessage(5, jobList); 188 handler.sendMessage(message); 189 is.close(); 190 dbUtils.close(); 191 client.getConnectionManager().shutdown(); 192 } 193 } catch (ClientProtocolException e) { 194 e.printStackTrace(); 195 } catch (IOException e) { 196 e.printStackTrace(); 197 } catch (DbException e) { 198 // TODO Auto-generated catch block 199 e.printStackTrace(); 200 } 201 } 202 }.start(); 203 204 getdbList(); 205 } 206 207 private void getimageShow() { 208 imagList = new ArrayList<View>(); 209 View imagV = LayoutInflater.from(getActivity()).inflate( 210 R.layout.imagelist, null); 211 ImageView imag = (ImageView) imagV.findViewById(R.id.page_imag); 212 View imagV1 = LayoutInflater.from(getActivity()).inflate( 213 R.layout.imagelist1, null); 214 ImageView imag1 = (ImageView) imagV.findViewById(R.id.page_imag1); 215 View imagV2 = LayoutInflater.from(getActivity()).inflate( 216 R.layout.imagelist2, null); 217 ImageView imag2 = (ImageView) imagV.findViewById(R.id.page_imag2); 218 imagList.add(imagV); 219 imagList.add(imagV1); 220 imagList.add(imagV2); 221 } 222 223 // 加上自动轮播 224 PagerAdapter pageadp = new PagerAdapter() { 225 226 @Override 227 public boolean isViewFromObject(View arg0, Object arg1) { 228 // TODO Auto-generated method stub 229 return arg0 == arg1; 230 } 231 232 @Override 233 public int getCount() { 234 // TODO Auto-generated method stub 235 return imagList.size(); 236 } 237 238 @Override 239 public void destroyItem(ViewGroup container, int position, Object object) { 240 // super.destroyItem(container, position, object); 241 container.removeView(imagList.get(position)); 242 } 243 244 @Override 245 public Object instantiateItem(ViewGroup container, int position) { 246 // TODO Auto-generated method stub 247 View image = imagList.get(position); 248 container.addView(image); 249 return image; 250 } 251 252 }; 253 254 // 获取数据库查询信息 255 private void getdbList() { 256 // TODO Auto-generated method stub 257 new Thread() { 258 public void run() { 259 try { 260 jobList = (ArrayList<Job>) dbUtils.findAll(Job.class); 261 Message message = handler.obtainMessage(4, jobList); 262 handler.sendMessage(message); 263 stop(); 264 } catch (DbException e) { 265 // TODO Auto-generated catch block 266 e.printStackTrace(); 267 } 268 }; 269 }.start(); 270 271 } 272 273 OnClickListener l = new OnClickListener() { 274 275 @Override 276 public void onClick(View v) { 277 switch (v.getId()) { 278 case R.id.seachposition_one: 279 view_pager_banner.setCurrentItem(0); 280 break; 281 case R.id.seachposition_two: 282 view_pager_banner.setCurrentItem(1); 283 break; 284 case R.id.seachposition_three: 285 view_pager_banner.setCurrentItem(2); 286 break; 287 case R.id.sure_seach: 288 try { 289 290 String name = position_seach.getText().toString(); 291 List<Job> findList = dbUtils.findAll(Selector.from( 292 Job.class).where("rj_name", "LIKE", 293 "%" + name + "%")); 294 if (null != findList) { 295 Toast.makeText(getActivity(), 296 "未能查询到关于" + name + "的相关职位!", 0).show(); 297 } else { 298 Toast.makeText(getActivity(), 299 "关于" + name + "的相关职位查询成功!", 0).show(); 300 } 301 adapter = new CompanyAdapter(getActivity(), findList); 302 xListView.setAdapter(adapter); 303 xListView.setOnItemClickListener(new OnItemClickListener() { 304 305 @Override 306 public void onItemClick(AdapterView<?> arg0, View arg1, 307 int arg2, long arg3) { 308 // TODO Auto-generated method stub 309 Intent intent = new Intent(getActivity(), 310 DetailsActivity.class); 311 intent.putExtra("pos", list.get(arg2 - 1)); 312 startActivity(intent); 313 } 314 }); 315 } catch (DbException e) { 316 // TODO Auto-generated catch block 317 e.printStackTrace(); 318 } 319 320 break; 321 } 322 } 323 }; 324 private HomeActivity homeact; 325 private DbUtils dbUtils; 326 private AutoScrollViewPager view_pager_banner; 327 private List<View> imagList; 328 329 /** 330 * 重置刷新集合 331 */ 332 private void getLoad() { 333 if (null != list && null != jobList) { 334 for (start = start; start < loads; start++) { 335 list.add(jobList.get(start)); 336 } 337 loads += 10; 338 if (loads > jobList.size()) { 339 loads = jobList.size(); 340 } 341 } 342 } 343 344 public void onLoad() { 345 xListView.stopRefresh(); 346 xListView.stopLoadMore(); 347 xListView.setRefreshTime("正在刷新职位"); 348 } 349 350 @Override 351 public void onRefresh() { 352 handler.postDelayed(new Runnable() { 353 354 @Override 355 public void run() { 356 getLoad(); 357 adapter = new CompanyAdapter(getActivity(), list); 358 xListView.setAdapter(adapter); 359 onLoad(); 360 Toast.makeText(getActivity(), "当前已是最新的职位信息", 0).show(); 361 } 362 }, 2000); 363 } 364 365 @Override 366 public void onLoadMore() { 367 handler.postDelayed(new Runnable() { 368 369 @Override 370 public void run() { 371 getLoad(); 372 adapter.notifyDataSetChanged(); 373 onLoad(); 374 } 375 }, 2000); 376 } 377 378 OnPageChangeListener pagelistener = new OnPageChangeListener() { 379 380 @Override 381 public void onPageSelected(int arg0) { 382 // TODO Auto-generated method stub 383 hideimage(); 384 switch (arg0) { 385 case 0: 386 position_get.setText("java工程师"); 387 seachposition_one 388 .setBackgroundResource(R.drawable.im_input_phiz_page_indicator_sel); 389 break; 390 case 1: 391 position_get.setText("安卓工程师"); 392 seachposition_two 393 .setBackgroundResource(R.drawable.im_input_phiz_page_indicator_sel); 394 break; 395 case 2: 396 position_get.setText("html工程师"); 397 seachposition_three 398 .setBackgroundResource(R.drawable.im_input_phiz_page_indicator_sel); 399 break; 400 401 default: 402 break; 403 } 404 } 405 406 @Override 407 public void onPageScrolled(int arg0, float arg1, int arg2) { 408 // TODO Auto-generated method stub 409 } 410 411 @Override 412 public void onPageScrollStateChanged(int arg0) { 413 // TODO Auto-generated method stub 414 } 415 }; 416 private RelativeLayout seach_xlistview_hide; 417 418 // 隐藏所有image 419 protected void hideimage() { 420 // TODO Auto-generated method stub 421 seachposition_one 422 .setBackgroundResource(R.drawable.im_input_phiz_page_indicator_nor); 423 seachposition_two 424 .setBackgroundResource(R.drawable.im_input_phiz_page_indicator_nor); 425 seachposition_three 426 .setBackgroundResource(R.drawable.im_input_phiz_page_indicator_nor); 427 } 428 429 @Override 430 public void onDestroy() { 431 // TODO Auto-generated method stub 432 super.onDestroy(); 433 view_pager_banner.stopAutoScroll(); 434 } 435 }
标签:
原文地址:http://www.cnblogs.com/zxwisfdlkjglkf/p/5006198.html