2012-06-04 3 views
1

im이 ZyXEL 바코드 스캐너를 사용하여이 함수 대신 EditText 객체에 'upc'문자열을 전달하고 싶습니다. 어떻게하면됩니까?함수에서 외부 객체 (안드로이드)로 데이터를 전달하는 방법

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); 

     } 
    }); 

하지만 난이 오류를 얻을 : 그래서

"The method initiateScan(Activity) in the type IntentIntegrator is not applicable for the arguments (new View.OnClickListener(){})"

시도 필자 이 기능을 호출하면이 문제를 해결할 수 있습니다. 다른 방법이,

button3.setOnClickListener(new OnClickListener() 
    { 

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

     } 
    }); 

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

을하지만 이것을 해결하기 위해 실제 우아한 방법은 아니다 : ction

는 다음과 같이입니까?

감사합니다.

+0

(이); 액티비티 ref 또는 listner ref를 전달 하시겠습니까? 만약 활동이 다음 을 사용하십시오. Activity.this –

+0

첫 번째 질문과 같이, 문자열 인수가있는 함수를 호출 할 때 어떤 문제가 있습니까? –

답변

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): 
     } 
} 

번째 질문 : IntentIntegrator.initiateScan에

in IntentIntegrator.initiateScan(this); 



use <activity-name>.this like Activity.this 
+0

답변을 주셔서 감사합니다. MyActivity.this를 사용하려고하는데 : " button3.setOnClickListener (새 OnClickListener를() { @Override \t \t \t 공공 무효의 onclick (보기 : 당신이 오류 코드는 여기 – user1284567

+0

해야합니다 v) // 여기에서이 오류가 발생합니다. { \t MyActivity.this \t } }); –

+0

을 plese 받고 정확한 위치를 할당의 왼쪽은 변수 " – user1284567

관련 문제