我更新了Android SDK Tools至版本17,並且在打開Eclipse之後,我在「問題」視圖中發現了一些新錯誤列表,更新。這些錯誤出現在我已經爲按鈕定義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>
注:應用定位的Android 2.3.3谷歌專門API版本10
謝謝。
,我改變了onclick屬性來:'機器人:的onClick =「tglVibration_Click」'但所有的靜脈因錯誤依然存在。但是,似乎錯誤沒有用新的屬性值更新。因此,我清理並重建了該項目,甚至嘗試關閉並重新打開Eclipse,但錯誤依然如此:「相應的方法處理程序」public void @ string/timespanDefinition_tglVibration_Click(android.view.View)'not found「任何想法? – Kurt 2012-03-24 17:20:41
@Kurt:不,我只希望簡單地改變文件就可以解決你的問題,更不用說清理項目或重新啓動Eclipse了。你是否在'tglVibration_Click'中爲多個小部件使用了'tglVibration_Click',你可能還有另一個小部件的字符串資源? – CommonsWare 2012-03-24 17:24:16
不幸的是,我沒有爲多個窗口小部件使用相同的onClick事件名稱,在tglVibration_Click的工作空間中只發現了一個搜索結果。我無法理解在更新Android SDK工具後出現這個問題的方式。 – Kurt 2012-03-24 17:38:01