0

我在 android 中有一个 Activity,它有 4 个按钮。前 3 个按钮分别从天气 API 获取 1 天、接下来 5 天和接下来 10 天的 json 数据。

我在屏幕底部放置了第四个按钮,它将用户带到第二个活动。如果没有单击顶部 3 的按钮,我想将用户的输入限制为第二个 Activity。

如果获取了数据,我的意思是前 3 个按钮中的任何一个已被单击,允许他在第 4 个按钮单击时转到第二个活动,否则显示一条消息。

如果之前单击过前 3 个按钮中的任何一个,我如何检查第 4 个按钮的单击?

谢谢

4

3 回答 3

6

在您的活动中放置一个布尔字段,将其命名为单击并将其设置为 false 在您的第一个活动的 onCreate 方法中,然后在您的 3 个按钮的 onClick 方法中,将其设置为 true,并在您的第四个按钮的 onClick 方法中检查它,如果它是真的去 startActivity,否则启动一个 Toast

于 2013-09-19T16:54:31.760 回答
0

您可以使用函数“setEnabled”(可能是错误的)使“OnCreate”中的第 4 个按钮看起来禁用,然后在单击任何其他按钮时为第 4 个按钮设置“setOnClickListener”。

附言。如果需要,可以提供代码示例。

于 2013-09-19T16:57:19.840 回答
0

为什么不使用 if 语句?您可以将点击计数数据保留在前三个按钮下。像这样;

import java.util.stream.*;

int[] btnMemory = new int[4];

button1.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {

                     btnMemory[0] = 1;
                                     // your code

                }
            });

之后,您可以使用第 4 个按钮下的 if 语句进行检查;

button4.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                 int sum = IntStream.of(btnMemory).sum();
                 if(sum >= 3)
                                 // your code

            }
        });
于 2013-09-19T17:08:37.143 回答