我正在制作一个应用程序作为我学校项目的一部分,我遇到了与“查看”有关的错误。它说“观点”无法解决。
还有另外一个与R.id.concern和其他错误有关的错误。 它表示需要一个常量表达式。
此代码的要点是,当按下按钮时,检查已检查的清单,为其分配1或0,然后添加分数。它比基于分数更改文本。
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{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.popwindow_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 view) {
boolean checked = ((CheckBox) view).isChecked();
switch(view.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
}
}
^^代码,其中错误是^^
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));
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));
}
});
Button okButton = (Button) findViewById(R.id.okButton_sallian);
okButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
}
^^检查清单的按钮是^^
的代码<?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">
android:elevation="8dp"
<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>
^^ Xml代码^^
package xyz.ashraf.whoisdelasalle;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button b = (Button) findViewById(R.id.who);
Button today = (Button) findViewById(R.id.today);
Button sallian = (Button) findViewById(R.id.sallian);
Button how = (Button) findViewById(R.id.toBe);
Button moreInfo = (Button) findViewById(R.id.info);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, Pop.class));
}
});
today.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, Pop_today.class));
}
});
sallian.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, Pop_sallian.class));
}
});
how.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, Pop_how.class));
}
});
moreInfo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, Pop_info.class));
}
});
}
}
^^活动主要^^
如果您发现任何改进或其他错误,请随时指出。如果可以,请将代码作为答案的一部分。
答案 0 :(得分:0)
您需要更改以下行:
Button sallian = (Button) findViewById(R.id.sallian);
致:
Button sallian = (Button) findViewById(R.id.okButton_sallian);
答案 1 :(得分:0)
首先,您已在另一个方法中声明了一个方法:)
public void onCheckboxClicked(View view) {
boolean checked = ((CheckBox) view).isChecked();
switch(view.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;
}
}
这应该在方法protected void onCreate(Bundle savedInstanceState)
第二个声明变量int score = 0;和TextView输出为类实例变量而不是onCreatemethods变量。我的意思是
public class check_Button extends Pop_sallian{
int score = 0;
TextView output = null;
这应该可以解决你无法解决得分和输出变量的问题。但严重的是我不明白你想要做什么:D你在onCrateView中显示输出文本中得分的值(在加载活动时调用它),这意味着你的得分值总是为零:)以及用户点击的时间复选框,你正在更新得分值:)只有你知道你将用该值做什么:)
免费提示:P - 如果你想在计算分数后显示分数,请移动显示代码在onCheckboxClicked
onCheckboxClicked(View view) {
boolean checked = ((CheckBox) view).isChecked();
switch(view.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;
}
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");
}
}
尝试缩进代码以获得更清晰:)如果您使用的是Android-studio,请使用ctrl + alt + i :)
最后的建议:)我真的没有看到任何一点用popSalian扩展你的checkButton类或任何尝试从正常活动扩展它:)希望我的回答帮助你:)快乐编码:))