1

由于为按钮的“OnClick 属性”分配了名称,因此在单击按钮时调用此方法,下面的编码中正确的大小写代码应该是什么。它给出的错误是它应该是常量表达式以防万一。

public void onClick(View view) {
switch (view.getId()) {
case R.id.button1:
  RadioButton AButton = (RadioButton) findViewById(R.id.radio0);
  RadioButton BButton = (RadioButton) findViewById(R.id.radio1);
  if (text.getText().length() == 0) {
    Toast.makeText(this, "Please enter a valid number",
        Toast.LENGTH_LONG).show();
    return;
  }
4

2 回答 2

1

您必须在将被标记为library的项目中使用此代码。是吗?

如果是,那么您必须了解在这种情况下 view.getId() 值不能用作常量。在此类项目中,您可以使用 if else 语句。

这背后的原因是,在主项目中,如果您定义了具有相同 id 的资源,则会返回或初始化错误的结果。因此,这是为了避免这种情况,因为调试起来会更加困难。

使用 if - else 语句。

另外,我不记得 ADT 版本,但在那之后视图 ID 不被视为常量。

于 2013-01-14T12:02:17.987 回答
0

只需将您的 switch case 语句转换为 if 语句就足够了。有关解释,请阅读switch case 语句错误:case 表达式必须是常量表达式

于 2013-01-14T12:03:02.177 回答