2010-06-01 4 views
0

저는 Android 개발에 새로운 것이므로 지금 의료진을위한 간단한 계산기를 만들고 있습니다. 내 프로그램은 OnClickListener 클래스를 구현하지만 버튼을 클릭하여 계산을 시작할 때마다 "소스를 찾을 수 없습니다."라는 오류가 발생합니다.OnClickListener 오류 : 소스를 찾을 수 없습니다.

public class KidneyeGFR extends Activity implements OnClickListener { 
TextView EditAge; 
TextView EditSerum; 
TextView Gfrtext; 
RadioButton Male; 
RadioButton Female; 
RadioButton EveryoneElse; 
RadioButton African; 
Button Calculate; 
double gender; 
double race; 
double finalgfr; 
private static final int GFRCONST = 186; 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    EditAge = (TextView)this.findViewById(R.id.EditAge); 
    EditSerum = (TextView)this.findViewById(R.id.EditSerum); 

    Male = (RadioButton)this.findViewById(R.id.Male); 
    Male.setChecked(true); 
    Female = (RadioButton)this.findViewById(R.id.Female); 

    EveryoneElse = (RadioButton)this.findViewById(R.id.EveryoneElse); 
    EveryoneElse.setChecked(true); 
    African = (RadioButton)this.findViewById(R.id.African); 

    Calculate = (Button)this.findViewById(R.id.Calculate); 
    Calculate.setOnClickListener(this); 

} 

public void onClick(View v) { 
    if (Female.isChecked()) { 
     gender = 0.742; 
    } 
    else { 
     gender = 1.0; 
    } 
    if (African.isChecked()) { 
     race = 1.212; 
    } 
    else { 
     race = 1.0; 
    } 
    calculateGFR(); 
} 


protected void calculateGFR() { 
    int age = Integer.parseInt(EditAge.getText().toString()); 
    double serum = Double.parseDouble(EditSerum.getText().toString()); 
    finalgfr = GFRCONST * Math.pow(serum, -1.154) * Math.pow(age, -0.203) * gender * race; 
    Gfrtext.setText(Double.toString(finalgfr)); 
} 

답변

1

... 사실

Gfrtext = (TextView)this.findViewById(R.id.Gfrtext); 

당신이 NullPointerException이 점점이에 대한보다 구체적인 세부 사항을 위해 로그 캣 또는 디버그보기를 확인 이잖아 당신의 앱 예외.

큰 문제가 있습니다 !!! =)

+0

고마워, 친구. 불행히도 이제 프로젝트 계층 구조 수준에서이 오류가 발생합니다. 알 수없는 오류 : javax.xml.xpath.XPathExpressionException – Sachin

+0

코드를 게시하십시오. – Jorgesys

+0

매니페스트 또는 레이아웃에 사용 하시겠습니까? – Sachin

0

난 당신이 여성/아프리카/EditAge/등의 초기화를 누락 생각 : 여기

는 코드입니다. onCreate 메소드에서. 여기서 findViewById 메소드를 사용하여이 모든 것을로드해야합니다. 이것은 디버깅 할 때 쉽게 확인할 수 있습니다 (onClick 메서드의 첫 번째 줄에 중단 점을 배치하십시오).

그런데 Java의 규칙은 객체의 멤버와 메소드가 항상 소문자로 시작하고 객체 이름이 대문자로 시작한다는 것입니다.

+1

죄송합니다. 다음은 소스 코드입니다. – Sachin

+0

그래, 문제가되지 않습니다. 하지만 디버깅을 해봤습니까? – Marc

+0

당신은 logCat에 무엇을 넣었습니까 ??? – Jorgesys

0

코드에 문제가 없습니다. 이 이클립스 예외 확인 ... 텍스트 뷰 Gfrtext을 정의 Eclipse debugging “source not found”

+0

고마워,하지만 그 질문에 쳐다 보면서 같은 문제를 해결하는 것 같지 않습니다. 아니면 그렇 겠지만, 제 상황에 대한 해결책으로 사용하지 못했습니다. breakpoints를 설정하고 calculateGFR 메서드가 실행 된 직후 오류가 발생한 것처럼 보입니다. – Sachin

+0

다른 게시물에서 Android 소스 코드를 다운로드해야합니다. – Sachin

관련 문제