【问题标题】:Android: How to get an additional onClickListener to communicate with a Switch statement?Android:如何让额外的 onClickListener 与 Switch 语句进行通信?
【发布时间】:2016-02-02 00:30:19
【问题描述】:

我正在开发一个应用程序,该应用程序有一个带有多项选择组件的问题。

到目前为止,我已使用 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,但我无法让它工作,所以我回到了原点。

你们能帮帮我吗?

谢谢。

【问题讨论】:

    标签: android onclick switch-statement onclicklistener


    【解决方案1】:

    首先,按钮只能监听点击事件。 OnClickListener 回调中的 onclick 方法与您使用的全局 onClick(View v) 相同。如果您想添加更多操作,您可以考虑 OnLongClickListener。你在那里的东西对我来说看起来不错,你已经定义了当用户做出选择时你想要发生的事情。

    此外,您可能希望给按钮的容器和文本视图一个 id,并在容器上调用 onclick(View v) 方法,以便按钮可以做不同的事情,这当然会基于用户选择什么。

    您可以使用布尔值来检查容器是否已被单击,因此当布尔值为真时,按钮可以执行操作,否则将被禁用,如果您知道我的意思的话。希望这有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-26
      • 2015-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多