Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.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
Java 在第二个活动中显示按钮应答_Java_Android - Fatal编程技术网

Java 在第二个活动中显示按钮应答

Java 在第二个活动中显示按钮应答,java,android,Java,Android,使用下面的代码,我希望此buttonCheckAnswer仅在名为AnswerActivity.java的其他活动中可见 我如何设置它 viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPi

使用下面的代码,我希望此
buttonCheckAnswer
仅在名为
AnswerActivity.java
的其他活动中可见

我如何设置它

viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

        }

        @Override
        public void onPageSelected(int position) {
            if (position == (NUMBER_OF_QUESTIONS - 1))
                checkSelected();
            else if (buttonCheckAnswer.getVisibility() == View.VISIBLE)
                buttonCheckAnswer.setVisibility(View.GONE);

        }

        @Override
        public void onPageScrollStateChanged(int state) {

        }
    });
还有一期

如何从这个
getBooleanExtra
获取两个值R.string?到目前为止,我只得到一个值,而第二个值似乎不存在

textViewDisplayResult.setText(getIntent().getBooleanExtra("KEY_ANSWER", true)?getString(R.string.Good_answer):getString(R.string.Wrong_answer));
完整代码

    public class MainActivity extends AppCompatActivity {

    private static int NUMBER_OF_QUESTIONS = 3;
    static boolean[] answer = new boolean[NUMBER_OF_QUESTIONS];
    static boolean[] checked = new boolean[NUMBER_OF_QUESTIONS];
    static boolean[] isAnswered = new boolean[NUMBER_OF_QUESTIONS];


    private static Button buttonCheckAnswer;

    private ViewPager viewPager;
    private List<Fragment> fragmentList;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        buttonCheckAnswer = (Button) findViewById(R.id.button_check_answers);
    PagerAdapter adapter = new PagerAdapter(getSupportFragmentManager(), fragmentList);
        viewPager.setAdapter(adapter);

        final Intent intent = new Intent(MainActivity.this, AnswerActivity.class);

        buttonCheckAnswer.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                if (checkAnswers())
                    intent.putExtra("KEY_ANSWER", R.string.Good_answer);

                else
                    intent.putExtra("KEY_ANSWER", R.string.Wrong_answer);

                startActivity(intent);

            }
        });


        viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

            }

            @Override
            public void onPageSelected(int position) {
                if (position == (NUMBER_OF_QUESTIONS - 1))
                    checkSelected();
                else if (buttonCheckAnswer.getVisibility() == View.VISIBLE)
                    buttonCheckAnswer.setVisibility(View.GONE);

            }

            @Override
            public void onPageScrollStateChanged(int state) {

            }
        });
    }

    public static void checkSelected() {
        for (boolean radioChecked : checked) {
            if (radioChecked) {
                buttonCheckAnswer.setVisibility(View.VISIBLE);
                break;
            }
        }
    }


    private boolean checkAnswers() {
        for (boolean radioAnswer : answer) {
            if (!radioAnswer) {
                return false;
            }
        }
        return true;
    }

    private boolean allAnswersChecked() {
        for (boolean radioAnswer : isAnswered) {
            if (!radioAnswer) {
                return false;
            }
        }
        return true;
    }
}

您可以将活动中的
Intent
字符串额外添加到您的
AnswerActivity

String buttonVisibility = "false";
Intent intent = new Intent(this, AnswerActivity.class);
intent.putExtra("visibility", buttonVisibility);
startActivity(intent);
然后在AnswerActivity中,您可以额外读取字符串的值

String visibility = this.getIntent.getStringExtra("visibility");
可以使用可见性变量更改按钮的可见性。然后,您可以将默认可见性设置为
View.VISIBLE
,并仅根据意图所包含的额外字符串进行更改

注意:
请注意,它是一个
字符串
而不是
布尔值

您可以在导致您的
应答活动的活动中额外添加
意图
字符串

String buttonVisibility = "false";
Intent intent = new Intent(this, AnswerActivity.class);
intent.putExtra("visibility", buttonVisibility);
startActivity(intent);
然后在AnswerActivity中,您可以额外读取字符串的值

String visibility = this.getIntent.getStringExtra("visibility");
可以使用可见性变量更改按钮的可见性。然后,您可以将默认可见性设置为
View.VISIBLE
,并仅根据意图所包含的额外字符串进行更改

注意:
请注意,它是一个
字符串
而不是
布尔值

谢谢。我将努力实施它。你能帮我再解决一个问题吗?我已经更新了我的帖子。还有一个问题要问你,乔布。我如何更改上面的代码来设置
应答活动
按钮应答
?你得到了什么字符串?我不明白你的其他问题。“为
AnswerActivity
设置此
buttonCheckAnswer
是什么意思?”有关
getBooleanExtra
问题,请参阅链接。谢谢。我将努力实施它。你能帮我再解决一个问题吗?我已经更新了我的帖子。还有一个问题要问你,乔布。我如何更改上面的代码来设置
应答活动
按钮应答
?你得到了什么字符串?我不明白你的其他问题。“为
AnswerActivity
设置此
buttonCheckAnswer
是什么意思?”有关
getBooleanExtra
问题,请参阅链接。