当前位置: 首页 > 知识库问答 >
问题:

Android onClick方法错误

章越
2023-03-14

我试图在Android中做一个简单的计算器。

public class MainActivity extends Activity {

    Button  show_cam_ctrl,
            show_voice_ctrl,
            cal_btn_clear,
            cal_btn_del,
            cal_btn_percent,
            cal_btn_divide,
            cal_btn_plus,
            cal_btn_pi,
            cal_btn_root,
            cal_btn_dot,
            cal_btn_equal,
            cal_btn_power,
            cal_btn_ptrl,
            cal_btn_sin, cal_btn_cos, cal_btn_tan,
            cal_btn_sinIn, cal_btn_cosIn, cal_btn_tanIn,
            cal_btn_0, cal_btn_1, cal_btn_2, cal_btn_3, cal_btn_4, cal_btn_5, cal_btn_6, cal_btn_7, cal_btn_8, cal_btn_9;

    TextView ma_res_txt;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //Control Buttons
        show_cam_ctrl = (Button) findViewById(R.id.show_cam_ctrl);
        show_voice_ctrl = (Button) findViewById(R.id.show_voice_ctrl);

        show_cam_ctrl.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent i = new Intent(MainActivity.this,cam_calculator.class);
                startActivity(i);
            }
        });
        show_voice_ctrl.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent i = new Intent(MainActivity.this,voice_calculator.class);
                startActivity(i);
            }
        });


    }

    //Calculator main page logic

    public void calculate(View v){

        ma_res_txt = (TextView) findViewById(R.id.ma_res_txt);
        String t;
        int length = ma_res_txt.getText().length();

        switch (v.getId()){


            case R.id.cal_btn_clear:{
                ma_res_txt.setText("");
                break;
            }
            case R.id.cal_btn_del:{
                String text = ma_res_txt.getText().toString();
                ma_res_txt.setText(text.substring(0, text.length() - 1));
            }


            case R.id.cal_btn_percent:{
                t = "%";
                ma_res_txt.setText(t);
                break;
            }


        }

    }






    @Override
    public void finish() {
        super.finish();
    }




}

共有1个答案

姚飞昂
2023-03-14

如果在onClick中添加了calculate(),请检查xml按钮代码,然后删除()

  <Button 
   android:id="@+id/cal_btn_percent"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:onClick="calculate()" />

要更改remove()

<Button android:id="@+id/cal_btn_percent"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:onClick="calculate" />
 类似资料:
  • 问题内容: 我正在创建一个词解析类,并在运行此命令时始终收到“ < main .Word_Parser实例位于0x1037dd3b0>的绑定方法Word_Parser.sort_word_list ”的错误: 问题答案: 这里没有错误。您正在打印一个函数,这就是函数的外观。 要实际 调用 该函数,必须在其后放置括号。您已经在上面完成了。如果要打印调用函数的结果,只需让函数返回值,然后将打印内容放在

  • 我几乎完成了一个基本的刽子手游戏,但我在课堂上遇到了“makeGuess”方法的困难。我试图测试用户输入(他们的一个字符猜测)与秘密单词,并更新伪装的单词,如果他们的猜测是正确的或不正确的。任何正确方向的建议或指点都将不胜感激。每次运行时都会出现以下错误: 这是刽子手课: } 这是我的演示课 }

  • if(driver.findelement(by.id(id)).issplayed()){ Appium 1.15.1 java Client 7.3.0 selenium-java 3.141.59

  • 请帮助我,我是python新手,现在了解下面的错误 “TypeError:必须使用ExampleScript14实例作为第一个参数调用未绑定的方法assertEqual()(改为使用Get-str实例)” 有关以下代码: 从selenium从selenium导入webdriver。网络驱动程序。常见的按导入按导入单元测试导入时间从时间导入睡眠导入变量

  • 问题内容: 我正在将JTOpen JDBC驱动程序用于DB2通用数据库。除了简单的语句,我对SQL的经验很少。 从这个问题中,我看到尝试“在事务期间插入/更新非日记表中的行”时,抛出了我正在获取的错误(SQL7008)。 根据项目负责人的说法,我们的数据库未记录在日志中,因此不会很快出现(不要问我为什么,我不是DBA)。但是,我正在一个项目中,几乎一劳永逸(而不是每次调用一次执行都会自动提交)的功

  • 我有一个JavaEE项目。在这个项目中,我使用SpringHibernate作为服务器端和主干,RequireJS和Jquery作为客户端。我试图用POST方法保存,但HTTP 415返回错误。 我的Get方法很好用。我在邮递员身上测试过。 我的url:localhost:8080/rest/travel 编辑过 我的资源课 我的DTO课 我的服务课 我的数据: 网络表 在此处输入图像描述