Dialogのボタンを押すとカメラを起動させ、QRコードのurlを読みとりTextViewに表示したい
カメラは起動するのですがQRコードを読み込んでもTextViewに表示されません。
解決方法がわかりません。回答してもらえるとありがたいです。よろしくお願いします。
java
1import android.app.AlertDialog; 2import android.app.Dialog; 3import android.content.Context; 4import android.content.Intent; 5import android.os.Bundle; 6import android.support.v4.app.DialogFragment; 7import android.view.LayoutInflater; 8import android.view.View; 9import android.widget.Button; 10import android.widget.TextView; 11 12import com.google.zxing.integration.android.IntentIntegrator; 13import com.google.zxing.integration.android.IntentResult; 14 15 16public class QRDialog extends DialogFragment { 17 TextView textView; 18 19 @Override 20 public Dialog onCreateDialog (Bundle savedInstanceState){ 21 22 LayoutInflater i = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 23 View content = i.inflate(R.layout.qr, null); 24 25 AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 26 27 builder.setView(content); 28 29 Button buttonStartCamera = content.findViewById(R.id.qr_button); 30 buttonStartCamera.setOnClickListener(new View.OnClickListener() { 31 @Override 32 public void onClick(View v) { 33 IntentIntegrator integrator = new IntentIntegrator(getActivity()); 34 integrator.initiateScan(); 35 } 36 }); 37 38 AlertDialog dialog = builder.create(); 39 dialog.setCanceledOnTouchOutside(false); 40 textView = content.findViewById(R.id.qr_text); 41 return dialog; 42 } 43 44 @Override 45 public void onActivityResult(int requestCode, int resultCode, Intent data) { 46 47 IntentResult intentResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, data); 48 49 if (intentResult == null) { 50 super.onActivityResult(requestCode, resultCode, data); 51 return; 52 } 53 if (intentResult.getContents() == null) { 54 textView.setText("ここにurlを表示が表示されます"); 55 } else { 56 textView.setText(intentResult.getContents()); 57 } 58 } 59} 60
xml
1<?xml version="1.0" encoding="utf-8"?> 2<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 android:orientation="horizontal"> 6 7 <Button 8 android:id="@+id/qr_button" 9 android:layout_width="wrap_content" 10 android:layout_height="wrap_content" 11 android:text="押す" /> 12 13 <TextView 14 android:id="@+id/qr_text" 15 android:layout_width="wrap_content" 16 android:layout_height="wrap_content" 17 android:text="ここにURLが表示されます" /> 18 19</LinearLayout>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/11 23:38