我试过两种方式。
1.在   super.onCreate(savedInstanceState);前加入。
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()       
      .detectDiskReads()       
      .detectDiskWrites()       
      .detectNetwork()   // or .detectAll() for all detectable problems       
      .penaltyLog()       
      .build());       
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()       
      .detectLeakedSqlLiteObjects()    
      .penaltyLog()       
      .penaltyDeath()       
      .build()); 
 第二种,新建线程用handler接受线程得到的值。这两种方法在写好吗查询时都行的通。
但是当我写查询天气的时候,就报错了,。。百思不得我解。多线程指针Android 4.0webseivce

解决方案 »

  1.   

    贴上一部分代码:
     /** 选择城市框 **/
         private void Show_chooseCityDialog(int CityID) {
              switch (CityID) {
                   case CITY:                    // 取得city_layout.xml...中的图片
                        final View view = LayoutInflater.from(this).inflate(R.layout.city_layout, null);                    provinces_spinner = (Spinner) view.findViewById(R.id.province_spinner);
                        citys_spinner = (Spinner) view.findViewById(R.id.city_spinner);
                        // 获取省份
                        
                        try {
                             provinces = GetweatherMessage.getProvinceList();          
                             ArrayAdapter adapter =
                                       new ArrayAdapter(this, android.R.layout.simple_spinner_item,
                                                 provinces);
                             adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                             provinces_spinner.setAdapter(adapter);
                        } catch (Exception e) {
                             // TODO Auto-generated catch block
                             Toast.makeText(getApplicationContext(), "您的网络连接错误", Toast.LENGTH_SHORT)
                                       .show();
                        }                      // 省份Splnner监听器
                        provinces_spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
                             public void onItemSelected(AdapterView<?> parent, View view, int position,
                                       long id) {
                                  try {
                                       citysname = GetweatherMessage.getCityListByProvince(provinces.get(position));
                                       ArrayAdapter adapter2 =
                                                 new ArrayAdapter(Menu_mainActivity.this,
                                                           android.R.layout.simple_spinner_item, citysname);
                                       adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                                       citys_spinner.setAdapter(adapter2);
                                  } catch (Exception e) {
                                       Toast.makeText(getApplicationContext(), "您的网络连接错误", Toast.LENGTH_SHORT)
                                       .show();
                                  }
                             
                             }
                             public void onNothingSelected(AdapterView<?> parent) {
                                  // TODO Auto-generated method stub                         }                    });
                        // 监听城市的Sqinner
                        citys_spinner.setOnItemSelectedListener(new OnItemSelectedListener() {                         @Override
                             public void onItemSelected(AdapterView<?> parent, View view, int position,
                                       long id) {                              mylocation = citysname.get(position);
                             }                         @Override
                             public void onNothingSelected(AdapterView<?> parent) {
                                  // TODO Auto-generated method stub
                             }
                        });
                        /** 显示城市选择对话框 */
                        AlertDialog.Builder chooserdialog = new AlertDialog.Builder(this);
                        chooserdialog.setTitle("请选择城市");
                        chooserdialog.setView(view);
                        chooserdialog.setIcon(android.R.drawable.ic_menu_info_details);
                        chooserdialog.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                             public void onClick(DialogInterface dialog, int which) {
                                  location.setText(mylocation);
                                  refresh(mylocation);                         }
                        });
                        chooserdialog.setNegativeButton("取消", new DialogInterface.OnClickListener() {
                             public void onClick(DialogInterface dialog, int which) {
                             }
                        });
                        chooserdialog.show();
                        break;          }     }