有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何在安卓中的片段活动中添加java代码

Tablayout可以正常使用每个选项卡中显示的单个文本视图,我将计算器添加到名为Tabfragment2的选项卡中,Tabfragment2中的计算器xml没有错误,而fragment2中计算器的java代码没有错误。java i在findViewById中面临错误所有这些

public class TabFragment2 extends Fragment {
Activity referenceActivity;

Button btn1, btn2, btn3, btn4, btn5, btn6, btn7, btn8, btn9, btndiv, btnadd, btnsub, btnmul, btnzero, btndot, btnclear, btnequal ;
TextView textview;
float ValueOne, ValueTwo;
boolean Addition, Subtract, Multiplication, Division;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.tab_fragment_2, container, false);
    referenceActivity = getActivity();

    btnzero = (Button) findViewById(R.id.btnzero);
    btn1 = (Button) findViewById(R.id.btn1);
    btn2 = (Button) findViewById(R.id.btn2);
    btn3 = (Button) findViewById(R.id.btn3);
    btn4 = (Button) findViewById(R.id.btn4);
    btn5 = (Button) findViewById(R.id.btn5);
    btn6 = (Button) findViewById(R.id.btn6);
    btn7 = (Button) findViewById(R.id.btn7);
    btn8 = (Button) findViewById(R.id.btn8);
    btn9 = (Button) findViewById(R.id.btn9);
    btnadd = (Button) findViewById(R.id.btnadd);
    btndiv = (Button) findViewById(R.id.btndiv);
    btnsub = (Button) findViewById(R.id.btnsub);
    btnmul = (Button) findViewById(R.id.btnmul);
    btndot = (Button) findViewById(R.id.btndot);
    btnclear = (Button) findViewById(R.id.btnclear);
    btnequal = (Button) findViewById(R.id.btnequal);
    textview = (TextView) findViewById(R.id.textview);

    btn1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            textview.setText(textview.getText() + "1");
        }
    });
    btn2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            textview.setText(textview.getText() + "2");
        }
    });
    btn3.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            textview.setText(textview.getText() + "3");
        }
    });
    btn4.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            textview.setText(textview.getText() + "4");
        }
    });
    btn5.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            textview.setText(textview.getText() + "5");
        }
    });
    btn6.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            textview.setText(textview.getText() + "6");
        }
    });
    btn7.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            textview.setText(textview.getText() + "7");
        }
    });
    btn8.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            textview.setText(textview.getText() + "8");
        }
    });
    btn9.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            textview.setText(textview.getText() + "9");
        }
    });
    btnzero.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            textview.setText(textview.getText() + "0");
        }
    });
    btndiv.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            textview.setText(textview.getText() + "/");
        }
    });
    btnadd.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (textview == null) {
                textview.setText("");
            } else {
                ValueOne = Float.parseFloat(textview.getText() + "");
                Addition = true;
                textview.setText(null);
            }
        }
    });
    btnsub.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (textview == null) {
                textview.setText("");
            } else {
                ValueOne = Float.parseFloat(textview.getText() + "");
                Subtract = true;
                textview.setText(null);
            }
        }
    });
    btndiv.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (textview == null) {
                textview.setText("");
            } else {
                ValueOne = Float.parseFloat(textview.getText() + "");
                Division=true;
                textview.setText(null);
            }
        }
    });
    btnmul.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (textview == null) {
                textview.setText("");
            } else {
                ValueOne = Float.parseFloat(textview.getText() + "");
                Multiplication = true;
                textview.setText(null);
            }
        }
    });
    btnequal.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            ValueTwo = Float.parseFloat(textview.getText() + "");
            if (Addition == true) {
                textview.setText(ValueOne + ValueTwo + "");
                Addition = false;
            }
            if (Subtract == true) {
                textview.setText(ValueOne - ValueTwo + "");
                Subtract = false;
            }
            if (Multiplication == true) {
                textview.setText(ValueOne * ValueTwo + "");
                Multiplication = false;
            }
            if (Division == true) {
                textview.setText(ValueOne / ValueTwo + "");
                Division = false;
            }
        }
    });
    btnclear.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            textview.setText("");
        }
    });
    btndot.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            textview.setText(textview.getText() + ".");
        }
    });

    return view;
}
}

共 (2) 个答案

  1. # 1 楼答案

    使用视图对象调用findViewById

    btnzero = (Button) view.findViewById(R.id.btnzero);
    btn1 = (Button) view.findViewById(R.id.btn1);
    btn2 = (Button) view.findViewById(R.id.btn2);
    

    继续

  2. # 2 楼答案

    用下面的代码替换所有findViewById

    btnzero = (Button) view.findViewById(R.id.btnzero);
        btn1 = (Button) view.findViewById(R.id.btn1);
        btn2 = (Button) view.findViewById(R.id.btn2);
        btn3 = (Button) view.findViewById(R.id.btn3);
        btn4 = (Button) view.findViewById(R.id.btn4);
        btn5 = (Button) view.findViewById(R.id.btn5);
        btn6 = (Button) view.findViewById(R.id.btn6);
        btn7 = (Button) view.findViewById(R.id.btn7);
        btn8 = (Button) view.findViewById(R.id.btn8);
        btn9 = (Button) view.findViewById(R.id.btn9);
        btnadd = (Button) view.findViewById(R.id.btnadd);
        btndiv = (Button) view.findViewById(R.id.btndiv);
        btnsub = (Button) view.findViewById(R.id.btnsub);
        btnmul = (Button) view.findViewById(R.id.btnmul);
        btndot = (Button) view.findViewById(R.id.btndot);
        btnclear = (Button) view.findViewById(R.id.btnclear);
        btnequal = (Button) view.findViewById(R.id.btnequal);
        textview = (TextView) view.findViewById(R.id.textview);