2013-09-30 5 views
1

조각 클래스에서 initialize 메서드를 호출하려고하는데 getMainLooper가이 클래스에 대해 정의되지 않았다고 말하고 있습니다.조각을 wifip2p 프레임 워크에 등록 할 수있는 메서드를 초기화하십시오.

private void initializeWiFiDirect() { 
     wifiP2pManager = 
      (WifiP2pManager)getActivity().getSystemService(Context.WIFI_P2P_SERVICE); 

     wifiDirectChannel = wifiP2pManager.initialize(this, getMainLooper(), 
        new ChannelListener() { 
        public void onChannelDisconnected() { 
        initializeWiFiDirect(); 
        } 
        } 
       ); 
     } 

도와주세요.

+2

getMainLooper --> getActivity().getMainLooper() 그냥'getMainLooper을 (교체)'getActivity()'와를 getMainLooper()' –

답변

2

귀하는이 방법으로 변경할 수 있습니다 -.

this --> getActivity().getApplcationContext() // basically context. 
               // you could use BaseContext too. 

Channel wifiDirectChannel = wifiP2pManager.initialize(getActivity().getApplicationContext(), getActivity().getMainLooper(), 
       new ChannelListener() { 
       public void onChannelDisconnected() { 
       initializeWiFiDirect(); 
       } 
       } 
      );