我尝试了几乎所有的方法,但似乎都不起作用,我不断得到一个底部按钮的无法解析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="";
}
}
}
);
}
}
}
}
2条答案
按热度按时间gdrx4gfi1#
你在为一个
Fragment
那没有办法findViewById
. 您需要使用:同时移动你的
return rootView
方法末尾的语句。c2e8gylq2#
这并不是一个真正的答案,但一个更好的方法,摆脱所有的样板代码,看起来丑陋,是使用依赖注入。一个简单易用的好框架是
butterknife
. 你的代码会更干净,你不会有findbyid和所有这些点击事件。所有这些都是用刀来处理的。