为什么无法查看解决

时间:2016-03-09 08:00:44

标签: android

我正在制作一个应用程序作为我学校项目的一部分,我遇到了与“查看”有关的错误。它说“观点”无法解决。

还有另外一个与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));
            }
        });
    }
}

^^活动主要^^

如果您发现任何改进或其他错误,请随时指出。如果可以,请将代码作为答案的一部分。

2 个答案:

答案 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类或任何尝试从正常活动扩展它:)希望我的回答帮助你:)快乐编码:))