Я пытаюсь сделать приложение для Android.Это базовое приложение для генерации QR-кодов.Раньше приложение прекрасно работало, просто используя кнопку «Создать QR-код».Но я решил поместить генератор QR-изображения в ViewPager
, который управляется TabLayout.
Мне удалось настроить 2 вкладки, и у каждой будет уникальный QR-код.
Вот содержимое каждого фрагмента вкладки:
<TextView
android:id="@+id/action_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="35dp"
android:text="@string/action_text"
android:textFontWeight="bold"
android:textSize="15dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/receive_QR"
android:layout_width="250dp"
android:layout_height="150dp"
android:layout_marginTop="20dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/action_text"
app:srcCompat="@drawable/logo"
tools:srcCompat="@drawable/logo" />
ПРИМЕЧАНИЕ. ВИД ИЗОБРАЖЕНИЯ ВТОРОГО ФРАГМЕНТА ИМЕЕТ send_QR id
Вот фрагмент кода java-файла:
public class Tab1Fragment extends Fragment {
private static final android.os.Environment Environment = null;
String TAG = "GenerateQRCode";
ImageView receiveQR;
String savePath = Environment.getExternalStorageDirectory().getPath() + "/QRCode/";
Bitmap bitmap;
QRGEncoder receiveQrgEncoder;
int smallerDimension;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_one, container, false);
receiveQR = (ImageView) view.findViewById(R.id.receive_QR);
smallerDimension = (100 * 3) / 5;
receiveQrgEncoder = new QRGEncoder("QR LOGIC GOES HERE", null, QRGContents.Type.TEXT, smallerDimension);
try{
bitmap = receiveQrgEncoder.encodeAsBitmap();
receiveQR.setImageBitmap(bitmap);
}catch (WriterException e) {
Log.v(TAG, e.toString());
}
return inflater.inflate(R.layout.fragment_one, container, false);
}
}
Что мне не хватает?
Большое спасибо за ваше время и помощь в этом вопросе.