Can not resolve method 'findViewById(int)'

前端 未结 9 828
孤城傲影
孤城傲影 2021-02-05 03:08

I\'m having a trouble with findViewByid but I can\'t find where the problem is.

Here\'s my FirstFragment class code:

import and         


        
相关标签:
9条回答
  • 2021-02-05 03:25

    Add getView() before findViewById() method.

    Like this:

    getView().findViewById(R.id.potatoes);

    0 讨论(0)
  • 2021-02-05 03:25

    getActivity().findViewById() This works it removes the red colour of findviewby id and it doesnt say cannot resolve symbol but when i put a colin in the end the whole statement is underlined and it says unreachable statement. barChart =(BarChart)getActivity().findViewById(R.id.barchart); I am also doing this in fragment.

    0 讨论(0)
  • 2021-02-05 03:27

    I had this problem when I downloaded sample project from github. This project had

    compileSdkVersion 23
    buildToolsVersion "23.0.0"
    targetSdkVersion 23
    

    in Activity context and findViewById() were in red color inside onCreate() method. So I updated the above versions to

    compileSdkVersion 25
    buildToolsVersion "25.0.3"
    targetSdkVersion 25
    

    and error got resolved.

    0 讨论(0)
  • 2021-02-05 03:28

    You need to do this in onCreateView:

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle   savedInstanceState) {
       View view =  inflater.inflate(R.layout.secondefragment, container, false);
        mWebView = (WebView) view.findViewById(R.id.activity_main_webview);
       progressBar = (ProgressBar) view.findViewById(R.id.progressBar1);
    
       WebSettings webSettings = mWebView.getSettings();
       webSettings.setJavaScriptEnabled(true);
       mWebView.loadUrl("http://www.google.com");
    
       return view;
    
    
    }
    
    0 讨论(0)
  • 2021-02-05 03:29

    Fragment doesn't provide thefindViewById() method. This is provided in Activity or View. When implementing a Fragment you don't inflate your views in onCreate() (like you normally do in an Activity.) Instead, you do it in onCreateView() and you need to use the inflated root View to find the ID within the layout you inflated.

    0 讨论(0)
  • 2021-02-05 03:33

    This is how you can solve the problem:

    toggleButton1=(ToggleButton)findViewById(R.id.toggleButton1);  
    toggleButton2=(ToggleButton)findViewById(R.id.toggleButton2); 
    
    0 讨论(0)
提交回复
热议问题