我更新了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