Search code examples
javaandroidandroid-layoutandroid-fragmentsandroid-activity

No view found for id in a new activity


I have created an activity that I am using for barcode scanning. The onCreate looks like this:

public class GradeScreenScanner extends AppCompatActivity implements ZXingScannerView.ResultHandler {

    public static final int REQUEST_CAMERA = 1;

    protected ZXingScannerView scannerView;
    protected FirebaseFirestore db;
    protected String scanResult;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        scannerView = new ZXingScannerView(this);
        setContentView(scannerView);

        db = FirebaseFirestore.getInstance();
    }
}

Once I have a result I am then wanting to launch a new fragment like so:

android.app.FragmentManager fragmentManager = getFragmentManager();

ScreenFragment screenFragment = new ScreenFragment();

screenFragment.db = db;
screenFragment.serialNumberScanned = serialNumberScanned;

fragmentManager.beginTransaction()
        .addToBackStack("screen")
        .replace(R.id.content_frame, screenFragment)
        .commit();

But I get the following error that I am not sure how to deal with:

java.lang.IllegalArgumentException: No view found for id 0x7f08005a (uk.wefix:id/content_frame) for fragment ScreenFragment{6262536 #1 id=0x7f08005a}

Just in case, the fragments onCreate looks like this:

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
    myView = inflater.inflate(R.layout.grade_screens_layout, container, false);

    return myView;
}

Help appreciated.

@Override
public void setContentView(View view) {
    getDelegate().setContentView(view);
}

Solution

  • <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/content_frame"/>
    

    Was missing from the xml in the activity view. My error, well spotted Umair