简体   繁体   中英

findviewbyid error cannot resolve

I tried almost everything but it doesn't seem to work, i keep getting a cannot resolve findviewById for the buttons at the bottom. the button declarations have the same errors but I fixed those correctly, the button ones at the bottom don't seem to behave the same way. New to android, Help?

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

public class ConnectFragment extends Fragment {

public String sign = "";
public String total= "";
public Double tempDouble, tempDouble2;

public ConnectFragment() {
}

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

    View rootView = inflater.inflate(R.layout.fragment_connect, container, false);

    return rootView;

    // Buttons for Felony
    Button button1 =(Button)rootView.findViewById(R.id.button1);
    Button button2 =(Button)rootView.findViewById(R.id.button2);
    Button button3 =(Button)rootView.findViewById(R.id.button3);
    Button button4 =(Button)rootView.findViewById(R.id.button4);
    Button button5 =(Button)rootView.findViewById(R.id.button5);
    //Buttons for misdemeanors
    Button button6 =(Button)rootView.findViewById(R.id.button7);
    Button button7 =(Button)rootView.findViewById(R.id.button8);
    Button button8 =(Button)rootView.findViewById(R.id.button6);
    //Buttons for Infraction
    Button button9 =(Button)rootView.findViewById(R.id.button9);
    //clear, +, =
    Button button10=(Button)rootView.findViewById(R.id.button10);
    Button button11 =(Button)rootView.findViewById(R.id.button11);
    Button button12 =(Button)rootView.findViewById(R.id.button12);




    // button 1 event handler
    button1.setOnClickListener(
            //button 1 interface
            new Button.OnClickListener()
            {
                //Button 1 callback method
                public void onClick(View v)
                {
                    TextView output = (TextView)findViewById(R.id.editText);
                    output.append("100 years");
                }
            }
    );
    // button 2 event handler
    button2.setOnClickListener(
            //button 2 interface
            new Button.OnClickListener()
            {
                //Button 2 callback method
                public void onClick(View v)
                {
                    TextView output = (TextView)findViewById(R.id.editText);
                    output.append("25 years");
                }
            }
    );
    // button 3 event handler
    button3.setOnClickListener(
            //button 3 interface
            new Button.OnClickListener()
            {
                //Button 3 callback method
                public void onClick(View v)
                {
                    TextView output = (TextView)findViewById(R.id.editText);
                    output.append("10 years");
                }
            }
    );
    // button 4 event handler
    button4.setOnClickListener(
            //button 4 interface
            new Button.OnClickListener()
            {
                //Button 4 callback method
                public void onClick(View v)
                {
                    TextView output = (TextView)findViewById(R.id.editText);
                    output.append("5 years");
                }
            }
    );
    // button 5 event handler
    button5.setOnClickListener(
            //button 5 interface
            new Button.OnClickListener()
            {
                //Button 5 callback method
                public void onClick(View v)
                {
                    TextView output = (TextView)findViewById(R.id.editText);
                    output.append("1 years");
                }
            }
    );
    // button 6 event handler
    button6.setOnClickListener(
            //button 1 interface
            new Button.OnClickListener()
            {
                //Button 6 callback method
                public void onClick(View v)
                {
                    TextView output = (TextView)findViewById(R.id.editText);
                    output.append("1 years");
                }
            }
    );
    // button 7 event handler
    button7.setOnClickListener(
            //button 7 interface
            new Button.OnClickListener()
            {
                //Button 7 callback method
                public void onClick(View v)
                {
                    TextView output = (TextView)findViewById(R.id.editText);
                    output.append("0.5 years");
                }
            }
    );
    // button 8 event handler
    button8.setOnClickListener(
            //button 8 interface
            new Button.OnClickListener()
            {
                //Button 8 callback method
                public void onClick(View v)
                {
                    TextView output = (TextView)findViewById(R.id.editText);
                    output.append("0.25 years");
                }
            }
    );
    // button 9 event handler
    button9.setOnClickListener(
            //button 9 interface
            new Button.OnClickListener()
            {
                //Button 9 callback method
                public void onClick(View v)
                {
                    TextView output = (TextView)findViewById(R.id.editText);
                    output.append("0.013 years");
                }
            }
    );
    // button 10 event handler
    button10.setOnClickListener(
            //button 10 interface
            new Button.OnClickListener()
            {
                //Button 10 callback method
                public void onClick(View v)
                {
                    TextView output = (TextView)findViewById(R.id.editText);
                    output.setText("");
                }
            }
    );
    // button 12 event handler
    button12.setOnClickListener(
            //button 12 interface
            new Button.OnClickListener()
            {
                //Button 12 callback method
                public void onClick(View v)
                {
                    TextView output = (TextView)findViewById(R.id.editText);
                    tempDouble = Double.parseDouble(output.getText().toString());
                    output.setText("");
                    sign = "+";
                }
            }
    );

    // button 11 event handler
    button11.setOnClickListener(
            //button 11 interface
            new Button.OnClickListener()
            {
                //Button 11 callback method
                public void onClick(View v)
                {
                    TextView output = (TextView)findViewById(R.id.editText);
                    tempDouble2 = Double.parseDouble(output.getText().toString());
                    if (sign=="+")
                    {
                        output.setText(Double.toString(tempDouble+tempDouble2));
                        sign="";
                    }
                }
            }
    );
}
}
}

}

You are writing for a Fragment that does not have method findViewById . You need to use:

TextView output = (TextView) rootView.findViewById(R.id.edittext);

Also move your return rootView statement to the end of method.

Not really an answer but a better way to get rid of all that boilerplate code that looks ugly, is to use dependency injection. A good framework to use that is simple and easy is butterknife . Your code would be much cleaner and you wouldn't have the findById and all those click events. All this is handled by bufferknife.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM