2012-03-29 2 views
-3

가까운 것을하기위한 답을 많이 찾았지만 찾고있는 것이 없습니다. 며칠 동안 답변을 찾고 있습니다.버튼을 클릭했는지에 따라 EditText 값을 2 씩 늘리거나 줄입니다. ANDROID

textEdit1이라는 단일 TextEdit 필드가 있습니다.

또한 버튼 1과 버튼 10의 양쪽에 버튼이 있습니다.

텍스트 편집기 필드의 초기 값은 0 내가 Button1을 클릭하면 내가 button10을 클릭하면

, 나는 2로 감소 그 값이 필요합니다 (I 차이를 만드는 경우에 추가 할 수있는 문자열로 설정)되어

그 값이 2 씩 증가 할 필요가 있습니다.

이것은 점수가 더 좋고 점수가 더 높은 점수 응용 프로그램입니다. 그래서 나는 이것을 가지고 음의 가치를 가질 수 있어야합니다.

이것은 안드로이드를위한 것이며 API 3에서 빌드 할 수 있도록 뒤로 이동할 수 없으므로 1.5에서 실행 가능해야합니다.

다음은 나의 XML 코드입니다.

<Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/buttonYes" /> 

    <EditText 
     android:id="@+id/editText1" 
     android:layout_width="50dp" 
     android:layout_height="wrap_content" 
     android:ems="10" 
     android:inputType="number" 
     android:text="@string/valueInitial" > 

     </EditText> 


    <Button 
     android:id="@+id/button10" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/buttonNo" /> 

본질적으로 문제의 사람이 진행 한 경우 button1 인 "예"버튼을 누르고 2 점을 뺍니다. 그들이 진전하지 못했거나 예 버튼을 실수로 눌렀다면 버튼 10이 나오고 점에 추가됩니다.

상황에 따라 포인트 값이 다른 여러 순차 버튼이 있습니다. 모든 작업이 끝나면 하단의 점수 버튼을 누르고 모든 EditText 필드의 수학을 수행하고 최종 점수를 표시합니다.

또한 누구나 EditText 필드를 탭하여 값을 입력 할 수 없기 때문에이 정보를 찾을 수 없습니다. 값은이 두 버튼 중 하나를 누르면 변경 될 수 있습니다.

몇 가지 도움을 준 후 다음 사항을 확인 했으므로 가까운 것 같습니다.하지만 안드로이드 나 자바에서 경험이 없으므로 VB.NET에서 경험할 수 있습니다. 이것은 내가 지금까지 가지고있는 것이지만, 많은 오류를 얻고있다.

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

    setButtonClickListener(); 
} 
public int progress; 

    private void setButtonClickListener() { 
     button1.setOnClickListener(this); 
     button10.setOnClickListener(this); { 
      public void onClick(View v) { 
    // TODO Auto-generated method stub 
       if(v == button1){ 
       this.total -= 2; 
       textEdit1.setText(String.valueOf(this.progress); 
       } 
       if(v == button10){ 
       this.total += 2; 
       textEdit1.setText(String.valueOf(this.progress);  
       } 

       } 

     }); 



} 
} 

나는 그런 오류가 발생하지 않기 때문에 수입 문제가 아닙니다.

+0

그것의 코어 로직 얻을 응답하도록 노력을 보여주는 몇 가지 코드를 넣어 –

+0

예 http://stackoverflow.com/questions/1653617 –

답변

2

아니라 간단한 자바

은 글고 치기에 수의 압정을 유지 클래스 멤버 veriable을 유지한다.

경우 클릭 감소

this.total -= 2; 
TextEdit1.setText(String.valueOf(this.total)); 

경우 클릭 증가

this.total += 2; 
TextEdit1.setText(String.valueOf(this.total)); 
+0

Riddhish : 내가 시도한 코드를 게시하지 않은 이유는 너무 많은 일을 시도하고 작동하지 않으면 제거하려고했기 때문입니다. 나는 깔끔한 코드를 유지하고 싶지 않다. Mayank, 그게 내가 찾는 물건이야. 나는 그 코드가 무엇을하는지뿐만 아니라 변수를 이해한다.내가 틀렸다고 정정하십시오. 그러나 "클릭 감소"와 이에 상응하는 경우, 각 버튼에 대해 onClickHandler가 정확합니까? 내가 가지고있는 유일한 질문은 "valueOf"가 내 상황과 일치시키기 위해 필요한 것인가 아니면 실제로 뭔가 내장 된 것인가라는 것입니다. – Michael

+0

'String.valueOf()'는'OnClickListener'에서'Integer.toString();'과 같은'Integer/Double/Long .... '문자열을 반환하는 내장 함수입니다. 'buttonId'와'view.getID()'를 비교하여 클릭합니다. – Mayank

+0

그루비 (Groovy), 고마워. 내가 찾고 있던 것을 정확하게. – Michael

관련 문제