【问题标题】:How to assign a class to execute onClick?如何分配一个类来执行onClick?
【发布时间】:2024-04-28 22:30:02
【问题描述】:

各位程序员!

所以我对编码很陌生,刚刚从 C# 迁移到 Java! 一切都按照我想要的方式进行: 我编写了一些看起来很漂亮的圆形按钮,并创建了以下类:

    package com.example.haavard.gosecure;

/**
 * Created by haavardkleven on 08.08.2016.
 */

import java.util.Random;


public class PasswordGenerator {
    public static void main(String[] args) {
        int length = 16; //Adjust the lenght of the generated password here
        System.out.println(generatePswd(length));
    }

    static char[] generatePswd(int len) {
        System.out.println("Your secure password is:");
        String charCaps = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        String chars = "absdefghijklmnopqrstuvwxyz";
        String numbers = "1234567890";
        String symbols = "!@#£$%^*_=+-/.?<>)";

        String passSymbols = charCaps + chars + numbers + symbols;
        Random rnd = new Random();

        char[] password = new char[len];
        int index = 0;
        for (int i = 0; i < len; i++)
        {
            password[i] = passSymbols.charAt(rnd.nextInt(passSymbols.length()));
        }
        return password;
    }
}

现在,由于我的编码记忆和“Android Studio”知识并不高,所以我遇到了这个问题:

如何将我的类方法分配给 MainActivity 中的 onClick 侦听器? 我希望我的应用程序运行该类,并将结果打印到布局页面上已设置的文本字段。

我知道,可能有这样的话题,但我真的找不到任何好的答案..

【问题讨论】:

    标签: java android class button onclick


    【解决方案1】:

    在布局 XML 中的活动中,将 android:onClick="yourMethod" 添加到您的按钮。

    在活动本身中,创建这样的方法:

    public void yourMethod(View view){
    
    }
    

    onClick 现在将自动访问此方法。

    在方法中,您可以访问您的类PasswordGenerator 并调用您的静态方法。最终代码可能如下所示:

    public void yourMethod(View view){
        char[] pw = PasswordGenerator.generatePswd(42);
    }
    

    【讨论】:

    • 太好了,非常感谢!它真的帮助了我!谢谢你也解释了besics,现在明白了,呵呵
    【解决方案2】:

    你需要在main.xml下面添加

    <Button
        android:id="@+id/button1"
        android:onClick="generatePswd"
        android:text="Button1" />
    

    【讨论】:

      最近更新 更多