Android SDK 도구를 수정하여 17로 개정했으며 Eclipse를 연 후에 Eclipse의 'Problems'보기에 새 오류 목록이 있음을 발견했습니다. 최신 정보. 이러한 오류는 단추에 대한 onClick 특성을 정의한 XML 레이아웃 파일에있었습니다. 에 마우스 오버 오류 메시지 예 :Android SDK 도구 Rev.17 - onClick - 해당 메소드 핸들러를 찾을 수 없음
반환 "대응 방법 핸들러 '공공 무효 @ 문자열/timespanDefinition_btnSave_Click (android.view.View에서)이'을 (를) 찾을 수 없습니다". 해당 이벤트 핸들러와 문자열 표현을 이미 정의했습니다. 이 문제의 원인과 해결책은 무엇입니까? 일부 코드 :
XML 레이아웃
<ToggleButton
android:id="@+id/timespanDefinition_tglVibration"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:checked="true"
android:onClick="@string/timespanDefinition_tglVibration_Click"
android:saveEnabled="true" />
활동 XML 레이아웃을
public class TimespanDefinitionActivity extends Activity
{
// -- Attributes -- //
private long mRowId = -1;
private StringBuilder mBitWeekDays;
private String mTitle;
private EditText txtTitle;
private TabHost tabHost;
private TimePicker tmepkrStart;
private TimePicker tmepkrEnd;
private CheckBox[] weekDays;
private SeekBar skbrVolume;
private ToggleButton tglVibration;
// -- Class Events -- //
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.timespan_definition);
initializeResources();
Bundle extras = getIntent().getExtras();
// Get the time-span Row ID
mRowId = (extras != null) ? extras.getLong(RVSUtilities.getDefaultPackage() + TimespanScheduleTable.KEY_ROWID)
: -1;
populateResources();
}
// -- User Events -- //
public void tglVibration_Click(View v)
{
if (((ToggleButton) v).isChecked())
{
Vibrator vibrate = (Vibrator) getSystemService(VIBRATOR_SERVICE);
vibrate.vibrate(1000);
}
}
할 strings.xml 팽창 :
<string name="timespanDefinition_tglVibration_Click">tglVibration_Click</string>
참고 : 응용 프로그램은
(10) 감사합니다 안드로이드 특별히 2.3.3 구글의 API 버전을 목표로하고있다.
"실행 린트는 일반적인 오류 확인"나는 온 클릭가 속성 변경 남아 있었다. 그러나 오류가 새 특성 값으로 업데이트되지 않은 것처럼 보입니다. 따라서 프로젝트를 정리하고 다시 빌드하고 Eclipse를 닫고 다시 열어 보았습니다. 오류는 동일하게 유지되었습니다. "해당 메서드 핸들러 'public void @ string/timespanDefinition_tglVibration_Click'android.view.View 'not found'모든 아이디어? – Kurt
@ Kurt : 아니요, 간단히 파일을 변경하면 프로젝트를 정리하거나 Eclipse를 다시 시작하지 않고 문제를 해결할 수 있습니다. 둘 이상의 위젯에'tglVibration_Click'을 사용하고 있습니까? 다른 위젯에 문자열 리소스가있을 수 있습니다. – CommonsWare
불행히도 아니요, 여러 위젯에 동일한 onClick 이벤트 이름을 사용하지 않고 있습니다. 'tglVibration_Click'에 대한 작업 영역에서 한 번의 검색 결과 만 발견되었습니다. Android SDK 도구를 업데이트 한 후이 문제가 어떻게 나타나는지 이해할 수 없습니다. – Kurt