【问题标题】:how to invoke a service's android method since void onclick function?自 void onclick 功能以来如何调用服务的 android 方法?
【发布时间】:2012-07-15 05:48:45
【问题描述】:

你好,我正在尝试调用服务的 android 方法,因为 public void onclick 并且我有一个错误,它告诉我需要插入“AssignemetOperator Expression”来完成表达式,但我看不出错误在哪里. 我把代码放在这里 错误在于布尔 ret=bindService(....... 它在公共无效 onClick 内 idcamarero 是如何创建全局变量的 谢谢

View.OnClickListener buttonhandler=new View.OnClickListener() {

    public void onClick(View v) {
        EditText id_camarero = (EditText) findViewById(R.id.id_camarero);
        String numero = id_camarero.getText().toString();
        idcamarero=Integer.parseInt(numero);
        //Register the actions we want to receive via broadcast
        //MyService.LocalBinder.
     boolean ret= bindService(new Intent(MainActivity.this, MyService.class), androidServiceConnection, BIND_AUTO_CREATE);          
         IntentFilter filter = new IntentFilter(MyService.DATA_RECEIVED_INTENT);
         registerReceiver(androidListener, filter);
     if((numero.trim().equals(""))||(existe==false)){
         AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context);

                // set title
                alertDialogBuilder.setTitle("Fallo de id");

                // set dialog message
                alertDialogBuilder
                    //.setMessage("Click salir para finalizarprograma")
                    .setCancelable(false)
                    .setPositiveButton("Salir",new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog,int id) {
                            // if this button is clicked, close
                            // current activity
                            MainActivity.this.finish();
                        }
                      })
                    .setNegativeButton("Reintentar",new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog,int id) {
                            // if this button is clicked, just close
                            // the dialog box and do nothing
                            dialog.cancel();
                        }
                    });

                    // create alert dialog
                    AlertDialog alertDialog = alertDialogBuilder.create();

                    // show it
                    alertDialog.show();
                }

     else{
    // Intent intent= new Intent(GestorRestauranteActivity.this,MenuMesas.class);
    // intent.putExtra("id", numero);//enviamos el id de camarero a la actividad que invocamos
    // startActivity(intent);
     finish();
     }
    }

};

【问题讨论】:

  • 你在哪一行得到这个错误?
  • 我做bindService时错误在第7行
  • androidServiceConnection 在哪里定义?在 bindService() 调用中将其作为参数传递。

标签: android


【解决方案1】:

代码的第 5 行:

idcamarero=Integer.parseInt(numero);

不会解析,因为您还没有声明变量idcamarero 的类型。您需要在该行前加上 int 前缀,或者直接将其完全删除(看起来您不需要这个)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-27
    • 1970-01-01
    • 2021-10-31
    • 1970-01-01
    • 2018-06-01
    • 2012-06-14
    • 2011-02-20
    • 1970-01-01
    相关资源
    最近更新 更多