com.mengxi.rfid.ui.gallery.GalleryFragment cannot be cast to androidx.fragment.app.Fragment
```java
package com.mengxi.rfid.ui.gallery;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.hardware.usb.UsbDevice;
import android.hardware.usb.UsbManager;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.mengxi.rfid.R;
import com.mengxi.rfid.ch340_library.CH340Master;
import com.mengxi.rfid.ch340_library.driver.InitCH340;
import com.mengxi.rfid.ch340_library.utils.CH340Util;
public class GalleryFragment extends AppCompatActivity implements InitCH340.IUsbPermissionListener {
private boolean isFirst;//判断是否打开
private Button btnSend, btnFormat;
private EditText etContent;
private static final String ACTION_USB_PERMISSION = "com.linc.USB_PERMISSION";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnSend = findViewById(R.id.btnSend);
btnFormat = findViewById(R.id.btnFormat);
etContent = findViewById(R.id.etContent);
initData();
initListener();
}
private void initListener() {
btnSend.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
sendData();
}
});
btnFormat.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String format = btnFormat.getText().toString().toLowerCase();
if ("ascii".equals(format)) {
btnFormat.setText("hex");
} else if ("hex".equals(format)) {
btnFormat.setText("ascii");
}
}
});
}
private void sendData() {
String string = etContent.getText().toString();
if (!TextUtils.isEmpty(string)) {
String format = btnFormat.getText().toString().toLowerCase();
CH340Util.writeData(string.getBytes(), format);
} else {
Toast.makeText(GalleryFragment.this, "发送的数据不能为空!", Toast.LENGTH_SHORT).show();
}
}
private void initData() {
InitCH340.setListener(this);
if (!isFirst) {
isFirst = true;
// 初始化 ch340-library
CH340Master.initialize(GalleryViewModel.getContext());
}
}
@Override
public void result(boolean isGranted) {
if (!isGranted) {
PendingIntent mPermissionIntent = PendingIntent.getBroadcast(this, 0, new Intent(ACTION_USB_PERMISSION), 0);
InitCH340.getmUsbManager().requestPermission(InitCH340.getUsbDevice(), mPermissionIntent);
}
}
@Override
protected void onResume() {
super.onResume();
IntentFilter usbFilter = new IntentFilter();
usbFilter.addAction(ACTION_USB_PERMISSION);
registerReceiver(mUsbReceiver, usbFilter);
}
private final BroadcastReceiver mUsbReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (ACTION_USB_PERMISSION.equals(action)) {
synchronized (this) {
UsbDevice device = intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);
if (intent.getBooleanExtra(UsbManager.EXTRA_PERMISSION_GRANTED, false)) {
if (device != null) {
Toast.makeText(GalleryFragment.this, "EXTRA_PERMISSION_GRANTED~", Toast.LENGTH_SHORT).show();
InitCH340.loadDriver(GalleryViewModel.getContext(), InitCH340.getmUsbManager());
}
} else {
Toast.makeText(GalleryFragment.this, "EXTRA_PERMISSION_GRANTED null!", Toast.LENGTH_SHORT).show();
}
}
}
}
};
@Override
protected void onDestroy() {
super.onDestroy();
unregisterReceiver(mUsbReceiver);
}
}
```