我正在开发一个带有多选组件问题的应用。
到目前为止,我已经使用Switch语句将三个不同的问题显示为TextViews,并将其选择为Buttons。
像这样:
public void onClick (View v)
{
switch (v.getId()) {
case R.id.firstOption:
mainQuestion.setText("Mexico’s capital is");
answerOne.setText("Monterrey");
answerTwo.setText("Cancun");
answerThree.setText("Mexico City");
answerFour.setText("Acapulco");
break;
case R.id.secondOption:
mainQuestion.setText("Canada’s capital is");
answerOne.setText("Vancouver");
answerTwo.setText("Edmonton");
answerThree.setText("Toronto");
answerFour.setText("Ottawa");
break;
case R.id.thirdOption:
mainQuestion.setText("Spain’s current currency is the");
answerOne.setText("Yen");
answerTwo.setText("Euro");
answerThree.setText("Pound");
answerFour.setText("Dollar");
break;
}
}
我无法弄清楚当用户按下Button
进行选择时如何处理。
如何让它与每个案件进行沟通?
我已尝试创建一个额外的onClickListener
,但我无法让它工作,所以我回到原点。
谢谢。
答案 0 :(得分:0)
首先,按钮只能侦听点击事件。 OnClickListener回调中的onclick方法与您使用的全局onClick(View v)相同。如果要添加更多操作,可以考虑使用OnLongClickListener。你在那里看到的东西看起来很好,你已经定义了当用户做出选择时你想要发生什么。
此外,您可能希望为按钮的容器和textview提供一个id,并在容器上调用onclick(View v)方法,以便按钮可以执行不同的操作,当然这将基于用户选择什么。
您可以使用布尔值来检查容器是否已被单击,因此当布尔值为true时,按钮可以执行操作,否则会被禁用,如果您知道我的意思。希望这有帮助。