4

I'm trying to add a button to my fragment layout but it says that the method findViewByid cannot be resolved. I'm implementing it in the onCreateView method in the fragment. Why is it giving me this error?

import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import android.view.View;
import android.widget.Button;

public class extra extends Fragment {


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        Button myButton = (Button) findViewById(R.id.my_button);
        return inflater.inflate(R.layout.extra, container, false);

    }

}
asdddd
  • 51
  • 1
  • 4

4 Answers4

4

You need to use View. like,

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    View rootView = inflater.inflate(R.layout.extra, container, false);
      // Inflate the layout for this fragment
    Button myButton = (Button) rootView.findViewById(R.id.my_button);

    return rootView;
}
Sathish Kumar J
  • 4,280
  • 1
  • 20
  • 48
1

Use my code

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.extra, container, false);
Button myButton = (Button)view.findViewById(R.id.my_button);
return view;
}
Pramod Waghmare
  • 1,273
  • 13
  • 21
Vinothkumar Nataraj
  • 588
  • 2
  • 7
  • 23
1
public class extra extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
  View v = LayoutInflater.from(getActivity()).inflate(
            R.layout.YOUR_LAYOUT, null);

    Button myButton = (Button) v.findViewById(R.id.my_button);
    return v;
}}

Use above code

PriyankaChauhan
  • 953
  • 11
  • 26
0

Use this Code :

 @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
       View rootView = inflater.inflate(R.layout.extra, container, false);
        Button myButton = (Button) rootView.findViewById(R.id.my_button);
       return rootView;

    }
M.Waqas Pervez
  • 2,492
  • 2
  • 19
  • 33