list.onItenClickListner不会被调用

问题描述:

我不知道为什么,但是当我点击一个列表行什么也没发生,即控制不list_places.setOnItemClickListenerlist.onItenClickListner不会被调用

final ListView list_places=(ListView)findViewById(R.id.list_places); 
    final ListView list_county=(ListView)findViewById(R.id.list_county); 


    MapView mapView = (MapView) findViewById(R.id.mapview); 
    mapView.setBuiltInZoomControls(true); 

    //get MapController that helps to set/get location, zoom etc. 
    mMapController = mapView.getController(); 

    LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); 
    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0L, 50.0f, this); 

    final List<Overlay> mapOverlays = mapView.getOverlays(); 
    Drawable drawable = this.getResources().getDrawable(R.drawable.mapmarker); 
    itemizedoverlay = new MyItemizedOverlay(drawable,mapView); 

    mCurrentLatitude=(double) +28.63144713; 
    mCurrentLongitude=(double) +77.38672751; 
    GeoPoint point = new GeoPoint((int)(mCurrentLatitude*1000000),(int)(mCurrentLongitude*1000000)); 
    OverlayItem overlayitem = new OverlayItem(point,null, "Du er her"); 
    itemizedoverlay.addOverlay(overlayitem); 
    mMapController.animateTo(point); 
    mMapController.setCenter(point); 

    mButtonCounty=(Button)findViewById(R.id.bttn_county); 
    mButtonRadar=(Button)findViewById(R.id.bttn_radar); 
    mContainer = (ViewGroup) findViewById(R.id.container); 
    mContainerView=(ViewGroup) findViewById(R.id.container_view); 

    final Thread dataThread=new Thread(new Runnable() { 

     public void run() 
     { 
      getFiveNearShops(); 

      DataBaseHelper myDbHelper = new DataBaseHelper(mContext); 
      myDbHelper = new DataBaseHelper(mContext); 

      try 
      { 
       myDbHelper.createDataBase(); 
      } 
      catch (IOException ioe) 
      { 
       throw new Error("Unable to create database"); 
      } 

      try 
      { 
       myDbHelper.openDataBase(); 
       mCountyAndShops = myDbHelper.getCountyList(); 
      } 
      catch(SQLException sqle) 
      { 

       throw sqle; 

      } 
      finally 
      { 
       myDbHelper.close(); 
      } 
     } 
    }); 
    dataThread.start(); 

    Thread displayThread = new Thread(new Runnable() { 
     public void run() { 

     try 
     { 
      dataThread.join(); 
     } 
     catch (InterruptedException e) 
     { 
      e.printStackTrace(); 
     } 
     mHandler.post(new Runnable() { 
      public void run() 
      { 
       list_places.setAdapter(new EfficientAdapter(getApplicationContext())); 
       list_places.setDivider(null); 
       mapOverlays.add(itemizedoverlay); 

       list_county.setAdapter(new CountyListEfficientAdapter(getApplicationContext(),mCountyAndShops)); 
       list_county.setDivider(null); 
      } 
     }); 

     } 
    }); 
    displayThread.start(); 

    list_county.setOnItemClickListener(new OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) 
     { 
      Intent intent=new Intent("com.similarlayers.finnpolet.ShopList"); 
      intent.putExtra("countyId",mCountyAndShops.get(position)[2]); 
      intent.putExtra("countyName",mCountyAndShops.get(position)[0]); 
      Log.v("click","click"); 
      startActivity(intent); 
     } 
    }); 

    list_places.setOnItemClickListener(new OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, 
       long arg3) { 
      // TODO Auto-generated method stub 
      Log.v("clickplaces","clickplaces"); 

     } 
    }); 

去我想你的list_places在不通过使用mHandler.post UI线程,把你的list_places在你的UI线程,我认为你应该使用的AsyncTask

我觉得你可以导入其他一些图书馆....

导入下面..... ........

import android.widget.AdapterView.OnItemClickListener; 

,这是我从列表中选择项目的代码......

ListView.setOnItemClickListener(new OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, 
       long position) { 
       Log.d("Current Position u Click", " " + position); 

     } 
    }); 

试试这个......可能是u得到帮助....

+0

我已经使用了你说的同样的进口 – user687022

+0

我可以知道你有哪个错误吗? –

+0

我没有得到任何错误的事情是,当我点击的ListView控件没有进入ListView.setOnItemClickListener(新OnItemClickListener(){ @覆盖 公共无效onItemClick(适配器视图>为arg0,ARG1查看,INT ARG2, (“当前位置u单击”,“”+位置); } });虽然一旦它进入它,我正在做的一切正确我知道什么是错的 – user687022