[英]findviewbyid error cannot resolve
我几乎尝试了所有操作,但似乎不起作用,我一直无法找到底部按钮的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="";
}
}
}
);
}
}
}
}
您正在编写的Fragment
没有方法findViewById
。 您需要使用:
TextView output = (TextView) rootView.findViewById(R.id.edittext);
return rootView
语句移到方法的末尾。
并不是真正的答案,但是摆脱所有看起来很丑陋的样板代码的更好方法是使用依赖注入。 一个简单易用的butterknife
是butterknife
。 您的代码将更加简洁,并且您将没有findById和所有这些click事件。 所有这些都由缓冲刀来处理。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.