바코드를 스캔하여 화면에 몇 초 동안 표시하는 프로젝트를 만듭니다. 바코드를 스캔하면 화면에 바코드 값이 표시되고이 값은 몇 초 후에 나타납니다. 나는 텍스트보기에서 가치를 보여 주려고하지만 나는 기울어 져있다. 나는 이것을 텍스트보기에서 보여주고 싶다. 어떤 몸이라도 그것에 관해 나를 안내 해주세요. 내가 안드로이드 스튜디오 여기텍스트보기에서 바코드의 값을 표시하는 방법
에 새로운 오전 당신이 스캔 한 바코드를 토스트 onActivityResult
에
package example.zxing;
import android.app.Activity;
import android.app.Fragment;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import com.google.zxing.integration.android.IntentIntegrator;
import com.google.zxing.integration.android.IntentResult;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
// TextView textView = (TextView)findViewById(R.id.scannedbarcode);
//
// public void setTextView(TextView textView) {
// this.textView = textView;
// }
public void scanBarcode(View view) {
new IntentIntegrator((Activity)this).initiateScan();
}
public void scanBarcodeCustomOptions(View view) {
IntentIntegrator integrator = new IntentIntegrator(this);
integrator.setDesiredBarcodeFormats(IntentIntegrator.ONE_D_CODE_TYPES);
integrator.initiateScan();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent
data) {
IntentResult result = IntentIntegrator.parseActivityResult(requestCode,
resultCode, data);
if(result != null) {
if(result.getContents() == null) {
Toast.makeText(this, "Cancelled", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(this, "Scanned: " + result.getContents(),
Toast.LENGTH_LONG).show();
}
} else {
// This is important, otherwise the result will not be passed to the
fragment
super.onActivityResult(requestCode, resultCode, data);
}
}
/**
* Sample of scanning from a Fragment
*/
public static class ScanFragment extends Fragment {
private String toast;
public ScanFragment() {
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
displayToast();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_scan, container,
false);
Button scan = (Button) view.findViewById(R.id.scan_from_fragment);
// TextView textView = (TextView)
findViewById(R.id.scannedbarcode);
// textView.setText("text you want to display");
scan.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
scanFromFragment();
}
});
return view;
}
public void scanFromFragment() {
IntentIntegrator.forFragment(this).initiateScan();
}
private void displayToast() {
if(getActivity() != null && toast != null) {
Toast.makeText(getActivity(), toast, Toast.LENGTH_LONG).show();
toast = null;
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent
data) {
IntentResult result =
IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if(result != null) {
if(result.getContents() == null) {
toast = "Cancelled from fragment";
} else {
toast = "Scanned from fragment: " + result.getContents();
}
// At this point we may or may not have a reference to the
activity
displayToast();
}
}
}
}
문자열이 texttext로 설정됩니다. Prob는 무엇입니까? – ADM
설정 방법을 이해할 수 없습니다. 코드 을 통해 안내해주세요. –