2013-08-10 3 views
0

Android 앱을 처음 사용했습니다. 바코드 스캐너를 만들려고하는데 결과가 내 edittext에 표시되지 않습니다. 다음 오류가 도시되어 onActivityResult바코드 스캐너로 검색 결과가 없습니다.

:

메소드하여 onActivityResult 유형 새로운 View.OnClickListener (행 (INT, INT 의도)) {}

국부적으로 사용되지 않는다

내 프로젝트에는 intentIntegratorIntentResult 클래스가 있습니다.

이 내 코드의 일부 :

<EditText 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:id="@+produto/desc" 
    android:enabled="false" 
    /> 
<requestFocus /> 
+0

문자열'result'에 예상 값이 있는지 확인 했습니까? 어쩌면 그것은 어떤 이유로 든 비어있을 수 있습니다. – BLaZuRE

답변

1

당신은 활동에보다는 setOnClickListener를 내부 onActivityResult 방법을 이동해야합니다

BtnBar.setOnClickListener(new View.OnClickListener() {   
    @Override 
    public void onClick(View v) {    
     Intent intent = new Intent("com.google.zxing.client.android.SCAN"); 
     startActivityForResult(intent, 0);        
    }    
    public void onActivityResult(int requestCode, int resultCode, Intent data) {;   
    if (resultCode == Activity.RESULT_OK && requestCode == 0) { 
     Bundle extras = data.getExtras(); 
     String result = extras.getString("SCAN_RESULT");    
     EditText desc = (EditText) findViewById(R.produto.desc); 
     desc.setText(result);   
    } 
    desc.setText(resultCode); 
    }  
    //public void onActivityResult(int requestCode, int resultCode, Intent intent) { 
    } 
); 

이 버튼의 XML 코드는 .

ide에서 얻는 힌트 (내가 예상하는 일식)는 onActivityResult이 코드 기반에서 절대 사용되지 않는다는 것을 알려주고 있습니다. 이는 해당 코드가 올바른 위치에 있지 않기 때문입니다. :

Intent intent = new Intent("com.google.zxing.client.android.SCAN"); 
startActivityForResult(intent, 0); 

코드 경로가 반환됩니다.

+1

정확히 맞습니다. 만약 OP가'Activity'에 대한 참조를 요구했을 것이기 때문에 OP가'IntentIntegrator'를 사용했다면 이것은 더 명확했을 것입니다. –

+0

매우 감사합니다. 이제 코드가 작동합니다. –

관련 문제