2011-11-28 4 views
0

내 프로그램을 개발하고 있지만 실제로 TextView.XD와 관련하여 힘든 시간을 보내고 있습니다. 스코어 보드처럼. 할당 된 TextView를 클릭하면 점수 값이 증가합니다. TextView의 값 증가. 0 클릭 수 +1

내 코드입니다 : 위의 코드가 작동하지 내가 왜 모르는

private OnClickListener mHscoreListener = new OnClickListener() { 
    public void onClick(View v) { 
     //DO INCREASE 
     h1++; 
     TextView HScore = (TextView) findViewById(R.id.hscore); 
     HScore.setText(h1); 
    }; 
}; 

.

+0

더 많은 코드를 게시해야 할 수도 있습니다. .setOnClickListener()로 버튼의 onClickListener를 설정 했습니까? –

답변

1

을 사용해야 할 수도 있습니다.

시도해보십시오. HScore 및 h1을 클래스 변수로 정의하십시오.

HScore = (TextView) findViewById(R.id.hscore); 
OnClickListener mHscoreListener = new OnClickListener() 
{ 
    public void onClick(View v) 
    { 
    // DO INCREASE 
    h1++; 
    HScore.setText(h1 + ""); 
    }; 
}; 
HScore.setOnClickListener(mHscoreListener); 
+0

감사! 그것은 작동 X) – Mineko

+0

@ 캐서린 그레이스 Balauro :) 즐거움 – AB1209

0

h1은 어떤 유형입니까?

당신은 내가 당신이 텍스트 뷰 HScore에 OnClickListener를 설정해야한다고 생각 h1.toString()

private OnClickListener mHscoreListener = new OnClickListener() { 
    public void onClick(View v) { 
     //DO INCREASE 
     h1++; 
     TextView HScore = (TextView) findViewById(R.id.hscore); 
     HScore.setText(h1.toString()); 
    }; 
}; 
+0

문자열이라면'++'연산자가 작동하지 않습니다. 그것이 int 인 경우,'setText()'는 그것을 매개 변수로 받아들이지 않습니다. 오류 메시지를 읽으 려한다면 컴파일러에서 문제가 있음을 알립니다. – bdares

+0

h1은 정수입니다. hscore의 값은 0입니다. 텍스트 뷰를 클릭하면 +1이 증가합니다. hscore .. 가능합니까? 문자열을 int로 지정하십시오. int를 문자열로 변환합니다. 덕분에 – Mineko

+0

캐서린, 위에서 언급 한'toString()'메소드를'setText()'에 넣어'int'의'String' 값을 얻으십시오. –