Não estou conseguindo recuperar o id em um fragment JAVA

2 respostas
java
P

Estou tentando utilizar o findViewById para recuperar o Id de uma Imagem em um Fragment. Mas quando executo o app ele fecha.

codigo:

package com.example.myapplication.Fragments;

import android.os.Bundle;

import androidx.fragment.app.Fragment;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.ImageButton;

import com.example.myapplication.R;

/**

  • A simple {@link Fragment} subclass.
    */
    public class CaoFragment extends Fragment {

    private ImageButton buttonCao;

    public CaoFragment() {

    }
    
    <a class="mention" href="/u/override">@Override</a>
    
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
    
    Bundle savedInstanceState) {
    
    View view = inflater.inflate(R.layout.fragment_cao, container, false);
     buttonCao = view.findViewById(R.id.buttonCao);
     return view;
    

    }
    }

ERRO:

E/AndroidRuntime: FATAL EXCEPTION: main

Process: com.example.myapplication, PID: 19952

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.myapplication/com.example.myapplication.MainActivity}: java.lang.ClassCastException: androidx.appcompat.widget.AppCompatImageView cannot be cast to android.widget.ImageButton

at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2984)

at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3045)

at android.app.ActivityThread.-wrap14(ActivityThread.java)

at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1642)

at android.os.Handler.dispatchMessage(Handler.java:102)

at android.os.Looper.loop(Looper.java:154)

at android.app.ActivityThread.main(ActivityThread.java:6776)

at java.lang.reflect.Method.invoke(Native Method)

at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1496)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1386)

Caused by: java.lang.ClassCastException: androidx.appcompat.widget.AppCompatImageView cannot be cast to android.widget.ImageButton

at com.example.myapplication.Fragments.CaoFragment.onCreateView(CaoFragment.java:30)

at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2600)

at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:881)

at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManagerImpl.java:1238)

at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1303)

at androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:439)

at androidx.fragment.app.FragmentManagerImpl.executeOps(FragmentManagerImpl.java:2079)

at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManagerImpl.java:1869)

at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManagerImpl.java:1824)

at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManagerImpl.java:1727)

at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManagerImpl.java:2663)

at androidx.fragment.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManagerImpl.java:2613)

at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:246)

at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:542)

at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:201)

at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1256)

at android.app.Activity.performStart(Activity.java:6973)

at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2937)

at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3045)

at android.app.ActivityThread.-wrap14(ActivityThread.java)

at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1642)

at android.os.Handler.dispatchMessage(Handler.java:102)

at android.os.Looper.loop(Looper.java:154)

at android.app.ActivityThread.main(ActivityThread.java:6776)

at java.lang.reflect.Method.invoke(Native Method)

at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1496)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1386)

2 Respostas

R

vc ta usando um ImageView em um ImageButton… Só arrumar o seu XML

R

NÃO DUPLIQUE TÓPICOS!!!

Criado 1 de janeiro de 2020
Ultima resposta 2 de jan. de 2020
Respostas 2
Participantes 2