함수를 어떻게 호출합니까? 분명히static void
public static void dial(Activity call)
{
Intent intent = new Intent(Intent.ACTION_DIAL);
call.startActivity(intent);
}
하지 :
dial(); /*Something should be within the brackets*/
함수를 어떻게 호출합니까? 분명히static void
public static void dial(Activity call)
{
Intent intent = new Intent(Intent.ACTION_DIAL);
call.startActivity(intent);
}
하지 :
dial(); /*Something should be within the brackets*/
null을 전달할 수 없습니다. 컨텍스트 개체를 보내야합니다.
기능은 어디에 있습니까? Activity 나 그 안에 있으면 단순히 "this"를 매개 변수로 전달하십시오.
BroadcastListener 또는 서비스 내에있는 경우 매개 변수를 Context로 변경하고 "this"를 전달하십시오.
매력처럼 작동합니다! – Patrick
다른 클래스에서 호출하면 어떻게됩니까? 함수가있는 클래스의 이름이 Action입니다. 나는 이것을 할 수 없다는 것을 안다 : Action.dial (this); – Patrick
@Patrick 예를 들어 메서드를 호출 할 때 Context를 전달하는 것이 일반적입니다. 유틸리티 클래스를 호출합니다. 그러나 항상 Activity 또는 BroadcastListener 또는 Service에서 논리를 실행하기 시작하고 모두 Context 하위 클래스이므로 항상 작업 할 항목이 있습니다. – Emmanuel
당신은 ClassName.dial();
이유
정적 방법이 없습니다 그것의 개별 인스턴스 클래스 자체를, 소속이다 시도해야합니다. instance.dial()
에 대한 전화는 합법적이지만 권장하지 않습니다.
당신은 클래스
문제는 무엇 exaclty 인의 정적 메소드를 호출하는 .... 당신의 ClassName.StaticMethod를 사용해야합니까?
당신이 가지고있는 경우에 완벽하게 (당신은 항상 Classname.FctName에 의해 정적 함수를 호출해야하는 경우에도
public class Test {
public void nonStaticFct() {
staticFct();
}
public static void staticFct() {
//do something
}
}
작품 같은 클래스 (Test.staticFct()
)
여기 문제가 누락 된 인수 것 같다 .
[편집] 내가 (암시 적 this.staticFct을 기대하기 때문에 분명히 내가 잘못의 Java Code Conventions에 따라 당신이 그것을 이상한 것 같다 경우에도 (클래스 명을 사용하지 않고, 단순히 호출하여 Classmethod를 사용할 수 있습니다) -하지만 Java 컴파일러가 충분히 똑똑 할 수도 있음)
'this'를 인수로 전달하십시오 (물론 활동에서 시작한다고 가정하십시오) –
dial (this); 공장. Anakin이 말한 것처럼 : ITS Working! – Patrick