バーコードをスキャンして数秒間画面に表示するプロジェクトを作成しています。私はバーコードをスキャンするとバーコード値を画面に表示し、この値は数秒後に表示されます。私はテキストビューで値を表示しようとしているが、私は傾ける。私はこれをテキストビューで表示したい。どんな体でも私のことを教えてください。 私はアンドロイドスタジオここバーコードの値をテキストビューで表示する方法
に新しいですが、あなたがスキャンしたバーコードをトースト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();
}
}
}
}
文字列がtextViewに設定されています。 Probとは何ですか? – ADM
私は設定方法を理解できません。 –