2013-07-19 6 views
-1
private OnClickListener startListener = new OnClickListener() { 
    public void onClick(View v) { 
     startService(new Intent(SimpleServiceController.this, 
       SimpleUpdateService.class)); 
     startActivity(new Intent (this, AlarmManagerListening.class)); 
    } 
}; 


startActivity 실행시 문제가 발생합니다. 그것은 나에게 활동을 시작하게하지 않습니다. 코드에 어떤 문제가 있는지 알 수 있습니까?onClick 다른 활동 시작

+1

post logcat plz – KOTIOS

+4

'startActivity()'메소드에'this' 대신'SimpleServiceController.this'를 사용하십시오. – user370305

+1

@ user370305 매력처럼 작동합니다! 고마워요! –

답변

2

으로 봅니다. OnClickListener 의 새 인스턴스를 인스턴스화하고 있으므로이은 컨텍스트로 필요한 서비스가 아닌 리스너의 인스턴스를 참조합니다. SimpleServiceController.this을 사용하면 을 지정합니다.new Intent() 메소드에서 요구하는 Context의 서브 클래스 인 컨트롤러를 나타냅니다.

0

당신이 직면하고있는 오류 때문에 startActivity(new Intent (this, AlarmManagerListening.class));에서 의 사용이다이

public void onClick (View v) { 
    Intent i=new Intent (v.getContext(), SimpleService.class); 
    startActivity(i); 
    }