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.