你好,我正在做一个需要输入答案的问答程序。这是我的第一个应用程序。
我的问题有很多答案。
final ArrayList<BasicItem> BasicList = new ArrayList<>();
BasicList.add(new BasicItem("What is the Figurative meaning of [1]Water, [2]Field, [3]Fire", "Word", "Heart", "Word that consume", "", "", "", "", ""));
我事先放了很多字符串,因为有些问题的答案多达8个,而每个答案都有一个EditText。所以就像上面的代码一样,我只在不需要的时候放""。
所以是否可以隐藏不需要的EditText或有""值的EditText?如果可以的话,我应该怎样把它放在哪里?谢谢你的帮助。
还有,我的吐司不能用了
这是我的代码。(问题只是草稿)
final MediaPlayer mp2 = MediaPlayer.create(this, R.raw.buttonsoundpress2);
final MediaPlayer mp = MediaPlayer.create(this, R.raw.buttonsoundpress);
answer1.setOnKeyListener(new View.OnKeyListener() {
@SuppressLint("ShowToast")
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
Log.e("event.getAction()",event.getAction()+"");
Log.e("event.keyCode()",keyCode+"");
if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
(keyCode == KeyEvent.KEYCODE_ENTER))
switch (category) {
case "Basic":
if (answer1.getText().toString().equalsIgnoreCase(BasicList.get(level).getbasicans1())) {
Toast.makeText(QuestionActivity.this, "Correct!", Toast.LENGTH_SHORT);
} else {
Toast.makeText(QuestionActivity.this, "Wrong!", Toast.LENGTH_SHORT);
}
case "Introductory":
if (answer1.getText().toString().equalsIgnoreCase(IntroList.get(level).getintroans1())) {
Toast.makeText(QuestionActivity.this, "Correct!", Toast.LENGTH_SHORT);
} else {
Toast.makeText(QuestionActivity.this, "Wrong!", Toast.LENGTH_SHORT);
}
case "Intermediate":
if (answer1.getText().toString().equalsIgnoreCase(IntermList.get(level).getintermans1())) {
Toast.makeText(QuestionActivity.this, "Correct!", Toast.LENGTH_SHORT);
} else {
Toast.makeText(QuestionActivity.this, "Wrong!", Toast.LENGTH_SHORT);
}
case "Advanced":
if (answer1.getText().toString().equalsIgnoreCase(AdvList.get(level).getadvancedans1())) {
Toast.makeText(QuestionActivity.this, "Correct!", Toast.LENGTH_SHORT);
} else {
Toast.makeText(QuestionActivity.this, "Wrong!", Toast.LENGTH_SHORT);
}
case "Sec1":
if (answer1.getText().toString().equalsIgnoreCase(Sec1List.get(level).getsec1ans1())) {
Toast.makeText(QuestionActivity.this, "Correct!", Toast.LENGTH_SHORT);
} else {
Toast.makeText(QuestionActivity.this, "Wrong!", Toast.LENGTH_SHORT);
}
case "Sec2":
if (answer1.getText().toString().equalsIgnoreCase(Sec2List.get(level).getsec2ans1())) {
Toast.makeText(QuestionActivity.this, "Correct!", Toast.LENGTH_SHORT);
} else {
Toast.makeText(QuestionActivity.this, "Wrong!", Toast.LENGTH_SHORT);
}
return true;
}
return false;
}
});
answer2.setOnKeyListener(new View.OnKeyListener() {
@SuppressLint("ShowToast")
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
Log.e("event.getAction()",event.getAction()+"");
Log.e("event.keyCode()",keyCode+"");
if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
(keyCode == KeyEvent.KEYCODE_ENTER))
switch (category) {
case "Basic":
if (answer2.getText().toString().equalsIgnoreCase(BasicList.get(level).getbasicans2())) {
Toast.makeText(QuestionActivity.this, "Correct!", Toast.LENGTH_SHORT);
} else {
Toast.makeText(QuestionActivity.this, "Wrong!", Toast.LENGTH_SHORT);
}
case "Introductory":
if (answer2.getText().toString().equalsIgnoreCase(IntroList.get(level).getintroans2())) {
Toast.makeText(QuestionActivity.this, "Correct!", Toast.LENGTH_SHORT);
} else {
Toast.makeText(QuestionActivity.this, "Wrong!", Toast.LENGTH_SHORT);
}
case "Intermediate":
if (answer2.getText().toString().equalsIgnoreCase(IntermList.get(level).getintermans2())) {
Toast.makeText(QuestionActivity.this, "Correct!", Toast.LENGTH_SHORT);
} else {
Toast.makeText(QuestionActivity.this, "Wrong!", Toast.LENGTH_SHORT);
}
case "Advanced":
if (answer2.getText().toString().equalsIgnoreCase(AdvList.get(level).getadvancedans2())) {
Toast.makeText(QuestionActivity.this, "Correct!", Toast.LENGTH_SHORT);
} else {
Toast.makeText(QuestionActivity.this, "Wrong!", Toast.LENGTH_SHORT);
}
case "Sec1":
if (answer2.getText().toString().equalsIgnoreCase(Sec1List.get(level).getsec1ans2())) {
Toast.makeText(QuestionActivity.this, "Correct!", Toast.LENGTH_SHORT);
} else {
Toast.makeText(QuestionActivity.this, "Wrong!", Toast.LENGTH_SHORT);
}
case "Sec2":
if (answer2.getText().toString().equalsIgnoreCase(Sec2List.get(level).getsec2ans2())) {
Toast.makeText(QuestionActivity.this, "Correct!", Toast.LENGTH_SHORT);
} else {
Toast.makeText(QuestionActivity.this, "Wrong!", Toast.LENGTH_SHORT);
}
return true;
}
return false;
}
});
answer3.setOnKeyListener(new View.OnKeyListener() {
@SuppressLint("ShowToast")
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
Log.e("event.getAction()",event.getAction()+"");
Log.e("event.keyCode()",keyCode+"");
if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
(keyCode == KeyEvent.KEYCODE_ENTER))
switch (category) {
case "Basic":
if (answer3.getText().toString().equalsIgnoreCase(BasicList.get(level).getbasicans3())) {
Toast.makeText(QuestionActivity.this, "Correct!", Toast.LENGTH_SHORT);
} else {
Toast.makeText(QuestionActivity.this, "Wrong!", Toast.LENGTH_SHORT);
}
case "Introductory":
if (answer3.getText().toString().equalsIgnoreCase(IntroList.get(level).getintroans3())) {
Toast.makeText(QuestionActivity.this, "Correct!", Toast.LENGTH_SHORT);
} else {
Toast.makeText(QuestionActivity.this, "Wrong!", Toast.LENGTH_SHORT);
}
case "Intermediate":
if (answer3.getText().toString().equalsIgnoreCase(IntermList.get(level).getintermans3())) {
Toast.makeText(QuestionActivity.this, "Correct!", Toast.LENGTH_SHORT);
} else {
Toast.makeText(QuestionActivity.this, "Wrong!", Toast.LENGTH_SHORT);
}
case "Advanced":
if (answer3.getText().toString().equalsIgnoreCase(AdvList.get(level).getadvancedans3())) {
Toast.makeText(QuestionActivity.this, "Correct!", Toast.LENGTH_SHORT);
} else {
Toast.makeText(QuestionActivity.this, "Wrong!", Toast.LENGTH_SHORT);
}
case "Sec1":
if (answer3.getText().toString().equalsIgnoreCase(Sec1List.get(level).getsec1ans3())) {
Toast.makeText(QuestionActivity.this, "Correct!", Toast.LENGTH_SHORT);
} else {
Toast.makeText(QuestionActivity.this, "Wrong!", Toast.LENGTH_SHORT);
}
case "Sec2":
if (answer3.getText().toString().equalsIgnoreCase(Sec2List.get(level).getsec2ans3())) {
Toast.makeText(QuestionActivity.this, "Correct!", Toast.LENGTH_SHORT);
} else {
Toast.makeText(QuestionActivity.this, "Wrong!", Toast.LENGTH_SHORT);
}
return true;
}
return false;
}
});
answer4.setOnKeyListener(new View.OnKeyListener() {
@SuppressLint("ShowToast")
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
Log.e("event.getAction()",event.getAction()+"");
Log.e("event.keyCode()",keyCode+"");
if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
(keyCode == KeyEvent.KEYCODE_ENTER))
switch (category) {
case "Basic":
if (answer4.getText().toString().equalsIgnoreCase(BasicList.get(level).getbasicans4())) {
Toast.makeText(QuestionActivity.this, "Correct!", Toast.LENGTH_SHORT);
} else {
Toast.makeText(QuestionActivity.this, "Wrong!", Toast.LENGTH_SHORT);
}
case "Introductory":
if (answer4.getText().toString().equalsIgnoreCase(IntroList.get(level).getintroans4())) {
Toast.makeText(QuestionActivity.this, "Correct!", Toast.LENGTH_SHORT);
} else {
Toast.makeText(QuestionActivity.this, "Wrong!", Toast.LENGTH_SHORT);
}
case "Intermediate":
if (answer4.getText().toString().equalsIgnoreCase(IntermList.get(level).getintermans4())) {
Toast.makeText(QuestionActivity.this, "Correct!", Toast.LENGTH_SHORT);
} else {
Toast.makeText(QuestionActivity.this, "Wrong!", Toast.LENGTH_SHORT);
}
case "Advanced":
if (answer4.getText().toString().equalsIgnoreCase(AdvList.get(level).getadvancedans4())) {
Toast.makeText(QuestionActivity.this, "Correct!", Toast.LENGTH_SHORT);
} else {
Toast.makeText(QuestionActivity.this, "Wrong!", Toast.LENGTH_SHORT);
}
case "Sec1":
if (answer4.getText().toString().equalsIgnoreCase(Sec1List.get(level).getsec1ans4())) {
Toast.makeText(QuestionActivity.this, "Correct!", Toast.LENGTH_SHORT);
} else {
Toast.makeText(QuestionActivity.this, "Wrong!", Toast.LENGTH_SHORT);
}
case "Sec2":
if (answer4.getText().toString().equalsIgnoreCase(Sec2List.get(level).getsec2ans4())) {
Toast.makeText(QuestionActivity.this, "Correct!", Toast.LENGTH_SHORT);
} else {
Toast.makeText(QuestionActivity.this, "Wrong!", Toast.LENGTH_SHORT);
}
return true;
}
return false;
}
});
switch (category) {
case "Basic":
textview.setText(BasicQuestion[level]);
questionLabel.setText(BasicList.get(level).getbasicque());
break;
case "Introductory":
textview.setText(IntroductoryQuestion[level]);
questionLabel.setText(IntroList.get(level).getintroque());
break;
case "Intermediate":
textview.setText(IntermQuestion[level]);
questionLabel.setText(IntermList.get(level).getintermque());
break;
case "Advanced":
textview.setText(AdvancedQuestion[level]);
questionLabel.setText(AdvList.get(level).getadvancedque());
break;
case "Sec1":
textview.setText(AdvancedQuestion[level]);
questionLabel.setText(Sec1List.get(level).getsec1que());
break;
case "Sec2":
textview.setText(AdvancedQuestion[level]);
questionLabel.setText(Sec2List.get(level).getsec2que());
break;
default:
textview.setText("error");
break;
}
}
}
你还没给我看你的祝酒词呢 请补充。
.show()
例如:
Toast.makeText(QuestionActivity.this, "back -> " + position , Toast.LENGTH_SHORT).show();
要隐藏任何元素,在.xml文件中设置默认属性为隐藏。
android:visibility="gone"
只要你想,它就应该显示出使用if条件。
if ((value != "") && (value != null)){
EditText.setVisibility(View.VISIBLE);
}
如果它是一个字符串,只要事先检查字符串是否为空,然后写上这个。
mEditText.setVisibility(View.GONE)
你也可以放一个类似的文本观察器,只要你改变textViewEditText的文本,它就会工作。
mEditText.addTextChangedListener(object :TextWatcher{
override fun afterTextChanged(s: Editable?) {
TODO("Not yet implemented")
}
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
TODO("Not yet implemented")
}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
mEditText.visibility=View.INVISIBLE// or gone
}
})