Es gibt einen Fehler in meinem Code, den ich nicht verstehe. Wenn ein Kontrollkästchen aktiviert ist, wird die Anwendung geschlossen.Checklisten-Log-Fehler
Eine kurze Zusammenfassung dessen, was ich versuche zu tun. Wenn die Check-Taste gedrückt wird, versucht es zu sehen, welche Checklisten geprüft wurden, und fügt 1 hinzu, um zu punkten, wenn es aktiviert ist. Ich als Text je nach der erhaltenen Punktzahl auszugeben.
Wenn es irgendwelche anderen Fehler gibt, die ich gemacht habe, weisen Sie sie bitte darauf hin. Enthält auch ein Codebeispiel (erleichtert das Verständnis).
04-06 06:15:44.601 20298-20298/xyz.ashraf.whoisdelasalle E/AndroidRuntime: FATAL EXCEPTION: main
Process: xyz.ashraf.whoisdelasalle, PID: 20298
java.lang.IllegalStateException: Could not find method onCheckboxClicked(View) in a parent or ancestor Context for android:onClick attribute defined on view class android.widget.CheckBox with id 'concern'
at android.view.View$DeclaredOnClickListener.resolveMethod(View.java:4485)
at android.view.View$DeclaredOnClickListener.onClick(View.java:4449)
at android.view.View.performClick(View.java:5204)
at android.widget.CompoundButton.performClick(CompoundButton.java:122)
at android.view.View$PerformClick.run(View.java:21153)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Fehlercode ^^
package xyz.ashraf.whoisdelasalle;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.TextView;
import android.widget.CompoundButton.OnCheckedChangeListener;
/**
* Created by Ashraf on 3/2/2016.
*/
public class check_Button extends Pop_sallian {
// Connects The variable to an xml id
TextView output = (TextView) findViewById(R.id.output);
//sets the variable to 0
int score = 0;
public void onCheckboxClicked(View v){
boolean checked = ((CheckBox) v).isChecked();
// checks what checklists have been checked
switch (v.getId()) {
case R.id.concern:
if (checked) {
score += 1;
}
break;
case R.id.faith:
if (checked) {
score += 1;
}
break;
case R.id.respect:
if (checked) {
score += 1;
}
break;
case R.id.education:
if (checked) {
score += 1;
}
break;
case R.id.community:
if (checked) {
score += 1;
}
break;
}
// adds the variables together to form a score
if (score == 0) {
output.setText("Come on! Get involved, your la sallian community needs you.");
} else if (score == 1) {
output.setText("Good start, keep going!");
} else if (score == 2) {
output.setText("Room to improve but doing good!");
} else if (score == 3) {
output.setText("Very good, others look up to you!");
} else if (score == 4) {
output.setText("Wow, you really are an inspiration");
} else if (score == 5) {
output.setText("Excellent! You're a leader in your la sallian community");
} else {
output.setText("Unknown");
}
// changes the output text based on score value
}
}
^^ Code, der die Checkliste überprüft und als Ausgänge Text ^^
package xyz.ashraf.whoisdelasalle;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.View;
import android.widget.Button;
/**
* Created by Ashraf on 1/27/2016.
*/
public class Pop_sallian extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.popwindow_sallian);
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int width = dm.widthPixels;
int height = dm.heightPixels;
getWindow().setLayout((int)(width*.8),(int)(height*.6));
//Creates a pop up window where the checklists are stored
Button checkButton = (Button) findViewById(R.id.check);
checkButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(Pop_sallian.this, check_Button.class));
}
}); // runs the check_Button.java to check what checklists have been checked.
Button okButton = (Button) findViewById(R.id.okButton_sallian);
okButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});// closes the pop up window
}
}
^^-Code, der den Check-Button enthält (Um zu überprüfen, ob Die Checklisten werden überprüft und der Text wird ausgegeben. (abhängig)
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ScrollView01"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<RelativeLayout
android:layout_width="match_parent" android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Are you a Sallian?"
android:id="@+id/textView7"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:textSize="30sp"
android:textColor="#000000" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Do you meet the following prerequisites, if you do you may be a Sallian"
android:id="@+id/textView8"
android:layout_below="@+id/textView7"
android:layout_centerHorizontal="true"
android:textSize="20sp"
android:textColor="#000000" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Are you concerened for the poor and Social Justice?"
android:id="@+id/concern"
android:textSize="18sp"
android:layout_below="@+id/textView8"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="10dp"
android:onClick="onCheckboxClicked"/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Do you have faith in the presence of God?"
android:id="@+id/faith"
android:textSize="15sp"
android:layout_below="@+id/concern"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="3dp"
android:onClick="onCheckboxClicked"/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Do you have Respect for all people?"
android:id="@+id/respect"
android:layout_below="@+id/faith"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="3dp"
android:textSize="15sp"
android:onClick="onCheckboxClicked"/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Do you value education?"
android:id="@+id/education"
android:textSize="15sp"
android:layout_below="@+id/respect"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="3dp"
android:onClick="onCheckboxClicked"/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Are you inclusive in your community?"
android:id="@+id/community"
android:layout_below="@+id/education"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:textSize="15sp"
android:checked="false"
android:onClick="onCheckboxClicked"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Ok"
android:id="@+id/okButton_sallian"
android:layout_below="@+id/community"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginRight="20dp"
android:layout_marginTop="90dp"
android:layout_marginBottom="20dp"
android:background="#FAFAFA"
android:textColor="#00E676"
android:elevation="2dp" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Check"
android:id="@+id/check"
android:textColor="#00E676"
android:elevation="2dp"
android:background="#FAFAFA"
android:layout_alignTop="@+id/okButton_sallian"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginLeft="20dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:id="@+id/output"
android:textColor="#1eff00"
android:textSize="20sp"
android:layout_below="@+id/community"
android:layout_centerHorizontal="true"
android:layout_above="@+id/check"
android:textIsSelectable="false" />
</RelativeLayout>
</ScrollView>
^^ Pop-up-XML-Code ^^
Sie haben nicht definiert() Methode überall in Ihrem Code onCheckboxClicked, deshalb Sie Ausnahme immer –
ich tat: Linie 24 der check_Button Klasse –
versuchen, diese Methode in derselben Klasse zu halten, anstatt verschiedene –