2012-02-17 3 views
1

나는 switch 문에서이 부분에 뭔가 잘못되었다고 생각합니다.하지만 난처한 데다가 누군가를 살펴 봐야합니다.Java에서 Android textviews를 사용하는 중에 오류가 발생했습니다.

switch(buttonId) 
     { 
    /* LOTS OF CASES HERE */ 
    default: 
    case R.id.goButton: 
     TextView rootNum = (TextView)findViewById(R.id.otherView); 
     String rootDone = rootNum.getText().toString(); 
     it = Integer.parseInt(rootDone); 
     break; 
    } 

뭐가 보이십니까?

업데이트

죄송 로그를 게시하지 대해, 그 문제는 분명 것이지만 그러나 그렇게하지 보인다.

은 두 로그 캣 오류입니다 :

java.lang.IllegalStateException: Could not find a method RootMe(View) in the activity class root.me.RootMeActivity for onClick handler on view class android.widget.Button with id 'goButton' 

Caused by: java.lang.NoSuchMethodException: RootMe [class android.view.View] 
+0

당신은 우리가 당신이 점점 오류를 알려주세요? – Vikram

+0

기본 레이아웃에서 otherview가 사용중인 경우 작동해야합니다. 그것을 확인하고 작동하지 않는 경우 귀하의 질문에 더 많은 설명을 추가하십시오. – Raj

+0

예외 나 오류가 있습니까? – user936414

답변

1

직접 해결했습니다.

오타였습니다. XML에서 onclick이라는 메서드 이름을 잘못 입력했습니다.

도움 주셔서 감사합니다.

-1

는 기본적 후 키워드 "휴식"을 작성합니다.

+0

요점은 내가 기본값으로 주어진 경우와 동일합니다. – ACarter

+0

layout.xml 파일에 버튼의 onClick = "RootMe()"를 작성했다고 생각합니다. 그러나 자바 파일에는 정의되어 있지 않습니다. –

2

문제는 xB에서 RootMe 메서드 (android:onClick="RootMe")을 호출하기 위해 goButton의 onclick 이벤트를 언급했지만 액티비티에 해당 메서드를 정의하지 않았다는 것입니다. 귀하의 XML에서 android:onClick="RootMe"을 삭제하고 활동 안에 그 버튼에 OnClickListener를 지정

샘플 코드

XML

<Button android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:text="Button1" 
android:id="@+id/btn1" /> 


<Button android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:text="Button2" 
android:id="@+id/btn2" /> 

소스 코드

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.Toast; 

public class ExampleActivity extends Activity implements OnClickListener{ 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     Button btn1 = (Button) findViewById(R.id.btn1); 
     btn1.setOnClickListener(this); 
     Button btn2 = (Button) findViewById(R.id.btn2); 
     btn2.setOnClickListener(this); 
    } 

    @Override 
    public void onClick(View arg0) { 
     // TODO Auto-generated method stub 
     int id = arg0.getId(); 
     System.out.println("....clicked id..."+id); 
     System.out.println("....id of btn1.."+R.id.btn1); 
     System.out.println("....id of btn2.."+R.id.btn2); 
     switch(id){ 
     case R.id.btn1: 
      Toast.makeText(ExampleActivity.this, "....."+1, Toast.LENGTH_SHORT).show(); 

      break; 
     case R.id.btn2: 
      Toast.makeText(ExampleActivity.this, "....."+2, Toast.LENGTH_SHORT).show(); 
      break; 
     } 
    } 
} 
+0

고마워요.하지만 아래 답변을 보면 고칠 수 있습니다. – ACarter

관련 문제