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
问题,请参阅链接。