无法解析findviewbyid错误

20jt8wwn  于 2021-07-13  发布在  Java
关注(0)|答案(2)|浏览(450)

我尝试了几乎所有的方法,但似乎都不起作用,我不断得到一个底部按钮的无法解析findviewbyid。按钮声明有相同的错误,但是我正确地修复了这些错误,底部的按钮声明的行为似乎不一样。android新手,帮帮我?

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="";
                    }
                }
            }
    );
}
}
}

}
gdrx4gfi

gdrx4gfi1#

你在为一个 Fragment 那没有办法 findViewById . 您需要使用:

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

同时移动你的 return rootView 方法末尾的语句。

c2e8gylq

c2e8gylq2#

这并不是一个真正的答案,但一个更好的方法,摆脱所有的样板代码,看起来丑陋,是使用依赖注入。一个简单易用的好框架是 butterknife . 你的代码会更干净,你不会有findbyid和所有这些点击事件。所有这些都是用刀来处理的。

相关问题