Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
[Android Java]学习Android,布局只工作一次_Java_Android_Android Activity - Fatal编程技术网

[Android Java]学习Android,布局只工作一次

[Android Java]学习Android,布局只工作一次,java,android,android-activity,Java,Android,Android Activity,我正在学习如何制作android应用程序,作为我的第一个项目,我正在尝试制作一个愚蠢的游戏哈哈 当我进行第二项活动时,游戏将按它必须的方式运行(下图) 总比什么都没变好,分数,数字,但所有的祝酒词都会来 package com.example.moshik.whatisbigger; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity;

我正在学习如何制作android应用程序,作为我的第一个项目,我正在尝试制作一个愚蠢的游戏哈哈

当我进行第二项活动时,游戏将按它必须的方式运行(下图)

总比什么都没变好,分数,数字,但所有的祝酒词都会来

package com.example.moshik.whatisbigger;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.text.DynamicLayout;
import android.text.Layout;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import java.util.Random;

public class NormalModeActivity1 extends AppCompatActivity {

int Score = 0;
boolean AnswerBig = false;
boolean AnswerEqual = false;
boolean AnswerSmall = false;
int counter = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_normal_mode1);
    Random rnd = new Random();


    while (counter < 5) {


        int Number1 = rnd.nextInt(99) + 1;
        TextView X = (TextView) findViewById(R.id.XNumber);
        String Xstring = String.valueOf(Number1);
        X.setText(Xstring);

        int Number2 = rnd.nextInt(99) + 1;
        TextView Y = (TextView) findViewById(R.id.YNumber);
        String Ystring = String.valueOf(Number2);
        Y.setText(Ystring);

        if (Number1 > Number2) {
            AnswerBig = true;
        }
        if (Number1 == Number2) {
            AnswerEqual = true;
        }
        if (Number1 < Number2) {
            AnswerSmall = true;
        }

        findViewById(R.id.Bigger).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (AnswerBig) {
                    Toast.makeText(NormalModeActivity1.this, "(BIG)You are RIGHT!", Toast.LENGTH_SHORT).show();
                    Score++;
                    AnswerBig = false;
                } else {
                    Toast.makeText(NormalModeActivity1.this, "(BIG)You were WRONG!", Toast.LENGTH_SHORT).show();
                }
            }
        });
        findViewById(R.id.Equal).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (AnswerEqual) {
                    Toast.makeText(NormalModeActivity1.this, "(Equal)You were RIGHT!", Toast.LENGTH_SHORT).show();
                    Score++;
                    AnswerEqual = false;
                } else {
                    Toast.makeText(NormalModeActivity1.this, "(Equal)You were WRONG!", Toast.LENGTH_SHORT).show();
                }
            }
        });
        findViewById(R.id.Smaller).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (AnswerSmall)
                {

                    Toast.makeText(NormalModeActivity1.this, "(Small)You were RIGHT!", Toast.LENGTH_SHORT).show();
                    Score++;
                    AnswerSmall = false;

                } else {
                    Toast.makeText(NormalModeActivity1.this, "(Small)You were WRONG!", Toast.LENGTH_SHORT).show();
                }
            }
        });

        TextView score = (TextView) findViewById(R.id.ScoreDisplay);
        String ScoreShow;
        ScoreShow = String.valueOf(Score);
        score.setText("Your Score Is: " + ScoreShow);
        counter++;

        if (counter > 5)
        {
            score.setText("ItsOver!!!");
        }
    }
}
package com.example.moshik.whatisbeger;
导入android.content.Intent;
导入android.os.Bundle;
导入android.support.v7.app.AppActivity;
导入android.support.v7.widget.Toolbar;
导入android.text.dynamicClayOut;
导入android.text.Layout;
导入android.view.view;
导入android.widget.TextView;
导入android.widget.Toast;
导入java.util.Random;
公共类NormalModeActivity1扩展了AppCompatActivity{
智力得分=0;
布尔回答big=false;
布尔值AnswerEqual=false;
布尔回答小=假;
int计数器=0;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u normal\u mode1);
随机rnd=新随机();
while(计数器<5){
整数1=rnd.nextInt(99)+1;
TextView X=(TextView)findViewById(R.id.XNumber);
String Xstring=String.valueOf(Number1);
X.setText(Xstring);
整数2=rnd.nextInt(99)+1;
TextView Y=(TextView)findViewById(R.id.YNumber);
String Ystring=String.valueOf(Number2);
Y.setText(Ystring);
如果(编号1>编号2){
答案大=正确;
}
if(Number1==Number2){
回答相等=正确;
}
如果(编号1<编号2){
回答小=正确;
}
findviewbyd(R.id.biger).setOnClickListener(新视图.OnClickListener()){
@凌驾
公共void onClick(视图v){
如果(回答大){
Toast.makeText(NormalModeActivity1.this,“(大)你是对的!”,Toast.LENGTH\u SHORT.show();
分数++;
回答大=假;
}否则{
Toast.makeText(NormalModeActivity1.this,“(大)你错了!”,Toast.LENGTH\u SHORT.show();
}
}
});
findviewbyd(R.id.Equal).setOnClickListener(新视图.OnClickListener()){
@凌驾
公共void onClick(视图v){
如果(回答相等){
Toast.makeText(NormalModeActivity1.this,“(等于)你是对的!”,Toast.LENGTH\u SHORT.show();
分数++;
回答相等=错误;
}否则{
Toast.makeText(NormalModeActivity1.this,“(等于)你错了!”,Toast.LENGTH\u SHORT.show();
}
}
});
findviewbyd(R.id.Smaller).setOnClickListener(新视图.OnClickListener()){
@凌驾
公共void onClick(视图v){
如果(回答小)
{
Toast.makeText(NormalModeActivity1.this,“(小)你是对的!”,Toast.LENGTH\u SHORT.show();
分数++;
回答小=假;
}否则{
Toast.makeText(NormalModeActivity1.this,“(小)你错了!”,Toast.LENGTH\u SHORT.show();
}
}
});
TextView得分=(TextView)findViewById(R.id.ScoreDisplay);
弦乐表演;
ScoreShow=String.valueOf(分数);
score.setText(“您的分数是:“+ScoreShow”);
计数器++;
如果(计数器>5)
{
score.setText(“ItsOver!!!”);
}
}
}
}


这里是布局和活动本身。
你能找到这里的问题或我错过了什么吗?非常感谢:)

你永远不会更新你的分数
TextView
。首先将其更改为类字段,以便在回调中更容易访问

private TextView score;
然后在您的
onCreate
方法中:

score = (TextView) findViewById(R.id.ScoreDisplay);
然后在增加分数后更新每个回调单击侦听器中的文本:

Score++;
score.setText("Your Score Is: " + Score);
另外,我会更新变量名,使其更加不同,因为对int使用
Score
,而对
TextView使用
Score
会让人困惑

显示类字段的更新:

public class NormalModeActivity1 extends AppCompatActivity {

    int Score = 0;
    boolean AnswerBig = false;
    boolean AnswerEqual = false;
    boolean AnswerSmall = false;
    int counter = 0;
    TextView X;
    TextView Y;
    TextView score;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_normal_mode1);

        // set class fields
        X = (TextView) findViewById(R.id.XNumber);
        Y = (TextView) findViewById(R.id.YNumber);
        score = (TextView) findViewById(R.id.ScoreDisplay);

        Random rnd = new Random();
        int Number1 = rnd.nextInt(99) + 1;
        String Xstring = String.valueOf(Number1);
        X.setText(Xstring);

        int Number2 = rnd.nextInt(99) + 1;
        String Ystring = String.valueOf(Number2);
        Y.setText(Ystring);

        if (Number1 > Number2) {
            AnswerBig = true;
        }
        if (Number1 == Number2) {
            AnswerEqual = true;
        }
        if (Number1 < Number2) {
            AnswerSmall = true;
        }

        findViewById(R.id.Bigger).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (AnswerBig) {
                    Toast.makeText(NormalModeActivity1.this, "(BIG)You are RIGHT!", Toast.LENGTH_SHORT).show();
                    Score++;
                    score.setText("Your Score Is: " + Score);
                    AnswerBig = false;
                } else {
                    Toast.makeText(NormalModeActivity1.this, "(BIG)You were WRONG!", Toast.LENGTH_SHORT).show();
                }
                incrementAndCheckCounter();
            }
        });

        findViewById(R.id.Equal).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (AnswerEqual) {
                    Toast.makeText(NormalModeActivity1.this, "(Equal)You were RIGHT!", Toast.LENGTH_SHORT).show();
                    Score++;
                    score.setText("Your Score Is: " + Score);
                    AnswerEqual = false;
                } else {
                    Toast.makeText(NormalModeActivity1.this, "(Equal)You were WRONG!", Toast.LENGTH_SHORT).show();
                }

                incrementAndCheckCounter();
            }
        });

        findViewById(R.id.Smaller).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (AnswerSmall)
                {

                    Toast.makeText(NormalModeActivity1.this, "(Small)You were RIGHT!", Toast.LENGTH_SHORT).show();
                    Score++;
                    score.setText("Your Score Is: " + Score);
                    AnswerSmall = false;

                } else {
                    Toast.makeText(NormalModeActivity1.this, "(Small)You were WRONG!", Toast.LENGTH_SHORT).show();
                }
                incrementAndCheckCounter();
            }
        });

        String ScoreShow;
        ScoreShow = String.valueOf(Score);
        score.setText("Your Score Is: " + ScoreShow);
    }

    private void incrementAndCheckCounter() {
        counter++;
        if (counter > 5)
        {
            score.setText("ItsOver!!!");
        }
    }
}
公共类NormalModeActivity1扩展了AppCompatActivity{
智力得分=0;
布尔回答big=false;
布尔值AnswerEqual=false;
布尔回答小=假;
int计数器=0;
文本视图X;
文本视图Y;
文本视图分数;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u normal\u mode1);
//设置类字段
X=(TextView)findViewById(R.id.XNumber);
Y=(TextView)findViewById(R.id.YNumber);
score=(TextView)findViewById(R.id.ScoreDisplay);
随机rnd=新随机();
整数1=rnd.nextInt(99)+1;
String Xstring=String.valueOf(Number1);
X.setText(Xstring);
整数2=rnd.nextInt(99)+1;
String Ystring=String.valueOf(Number2);
Y.setText(Ystring);
如果(编号1>编号2){
答案大=正确;
}
if(Number1==Number2){
回答相等=正确;
}
如果(编号1<编号2){
回答小=正确;
}
findviewbyd(R.id.biger).setOnClickListener(新视图.OnClickListener()){
@凌驾
公共void onClick(视图v){
如果(回答大){
Toast.makeText(NormalModeActivity1.this,“(大)你是对的!”,Toast.LENGTH\u SHORT.show();
分数++;
score.setText(“您的分数是:“+score”);
回答大=假;
}否则{
Toast.makeText(NormalModeActivity1.this,“(大)你错了!”,Toast.LENGTH\u SHORT.show();
public class NormalModeActivity1 extends AppCompatActivity {

    int Score = 0;
    boolean AnswerBig = false;
    boolean AnswerEqual = false;
    boolean AnswerSmall = false;
    int counter = 0;
    TextView X;
    TextView Y;
    TextView score;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_normal_mode1);

        // set class fields
        X = (TextView) findViewById(R.id.XNumber);
        Y = (TextView) findViewById(R.id.YNumber);
        score = (TextView) findViewById(R.id.ScoreDisplay);

        Random rnd = new Random();
        int Number1 = rnd.nextInt(99) + 1;
        String Xstring = String.valueOf(Number1);
        X.setText(Xstring);

        int Number2 = rnd.nextInt(99) + 1;
        String Ystring = String.valueOf(Number2);
        Y.setText(Ystring);

        if (Number1 > Number2) {
            AnswerBig = true;
        }
        if (Number1 == Number2) {
            AnswerEqual = true;
        }
        if (Number1 < Number2) {
            AnswerSmall = true;
        }

        findViewById(R.id.Bigger).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (AnswerBig) {
                    Toast.makeText(NormalModeActivity1.this, "(BIG)You are RIGHT!", Toast.LENGTH_SHORT).show();
                    Score++;
                    score.setText("Your Score Is: " + Score);
                    AnswerBig = false;
                } else {
                    Toast.makeText(NormalModeActivity1.this, "(BIG)You were WRONG!", Toast.LENGTH_SHORT).show();
                }
                incrementAndCheckCounter();
            }
        });

        findViewById(R.id.Equal).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (AnswerEqual) {
                    Toast.makeText(NormalModeActivity1.this, "(Equal)You were RIGHT!", Toast.LENGTH_SHORT).show();
                    Score++;
                    score.setText("Your Score Is: " + Score);
                    AnswerEqual = false;
                } else {
                    Toast.makeText(NormalModeActivity1.this, "(Equal)You were WRONG!", Toast.LENGTH_SHORT).show();
                }

                incrementAndCheckCounter();
            }
        });

        findViewById(R.id.Smaller).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (AnswerSmall)
                {

                    Toast.makeText(NormalModeActivity1.this, "(Small)You were RIGHT!", Toast.LENGTH_SHORT).show();
                    Score++;
                    score.setText("Your Score Is: " + Score);
                    AnswerSmall = false;

                } else {
                    Toast.makeText(NormalModeActivity1.this, "(Small)You were WRONG!", Toast.LENGTH_SHORT).show();
                }
                incrementAndCheckCounter();
            }
        });

        String ScoreShow;
        ScoreShow = String.valueOf(Score);
        score.setText("Your Score Is: " + ScoreShow);
    }

    private void incrementAndCheckCounter() {
        counter++;
        if (counter > 5)
        {
            score.setText("ItsOver!!!");
        }
    }
}