1

我正在使用 ZyXEL 条码扫描仪的这种功能,我想通过这个函数将字符串“upc”传递给 EditText 对象,我该怎么做?

 protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{
    switch(requestCode) 
    {
        case IntentIntegrator.REQUEST_CODE:
        {
            if (resultCode != RESULT_CANCELED) 

               {
                            IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
                            if (scanResult != null)
                            {
                            String upc = scanResult.getContents();

                            }

               }
                break;
                }
            }
        }

第二个问题:

我想在单击这样的按钮后调用一个函数:

button3.setOnClickListener(new OnClickListener()
    {

        @Override
        public void onClick(View v)
        {

             IntentIntegrator.initiateScan(this);

        }
    });

但我收到此错误:

“IntentIntegrator 类型中的方法 initialScan(Activity) 不适用于参数 (new View.OnClickListener(){})”

所以我试图通过在单击此功能调用原始功能的按钮时调用功能来解决此问题

它看起来像这样:

 button3.setOnClickListener(new OnClickListener()
    {

        @Override
        public void onClick(View v)
        {
             turntheshiton();

        }
    });

 public void turntheshiton()
{
    IntentIntegrator.initiateScan(this);
}

但这不是解决这个问题的真正优雅方法,还有其他方法吗?

谢谢!!

4

1 回答 1

3
 String upc = scanResult.getContents();
 updateEditField(upc );// or use <activity-name>.this.updateEditField(upc );




private void updateEditField(String str){

EditField ef = (EditField)findViewByID(R.id.<ef_id>);

        if(null!=ef){
           ef.setText(str):
      }
}

第二个问题:

in IntentIntegrator.initiateScan(this);



use <activity-name>.this like Activity.this
于 2012-06-04T17:30:32.897 回答