Android:点击5次或更多次后启动活动

时间:2012-11-14 11:01:48

标签: android android-intent onclicklistener

我有一个onClick监听器,它使用intent启动一个活动,但是如果只有当用户点击五次或更多时才使监听器触发Activity意图?

public boolean onClick(View v) {

    Intent myIntent = new Intent(activity, loginActivity.class);
    activity.startActivity(myIntent);

    return false;   
}

这里我要登录Activity。登录成功后如何返回上一个活动?

public void onClick(View v) {

    String username = Username.getText().toString();
    String password = Password.getText().toString();

    if(username.equals("guest") && password.equals("guest")) {
        lResult.setText("Login successful.");
    } else {
        lResult.setText("Login failed");
    }
}

4 个答案:

答案 0 :(得分:8)

程序中有一个静态变量,每次点击都会增加。

当您点击计数达到5然后触发代码以启动LoginActivity。

static int i = 0;

@override
public void onClick(View view) {
    i++;
    if (i == 5) {
        i = 0;
        Intent myIntent = new Intent(activity, loginActivity.class);
        activity.startActivity(myIntent);
    }
}

答案 1 :(得分:1)

您可以尝试构建一个计算点击次数的计数器,并从第5次点击开始计算

要返回上一个活动,请致电

finish();

答案 2 :(得分:1)

为您的活动添加静态计数器。

static int clickCount;

在你的onClick:

if(clickCount++<5){return;}

答案 3 :(得分:0)

对于第一个问题,只需在类上添加一个计数器变量并在onClick()上增加,并在启动意图之前检查它的&gt; = 5.

    int clickCounter;

    public boolean onClick(View v) {

            clickCounter++;

            if (clickCounter >= 5) {

                    Intent myIntent = new Intent(activity, loginActivity.class);
                    activity.startActivity(myIntent);
            }

            return false;   
    }

对于第二个问题,您必须考虑先前的活动是否必须保持完全相同的方面或更新用户数据。查看Activity.startActivityForResult(Intent intent,int requestCode)以调用活动并从中获取结果值。   -