gpt4 book ai didi

java - 如何在android中的另一个类中调用带有View类型参数的函数

转载 作者:行者123 更新时间:2023-11-30 02:44:48 25 4
gpt4 key购买 nike

在 android 编程中完全 n00b 有一个令人尴尬的问题,在这里。例如,我有一个带有如下 View 参数的 onClick 函数:

public void onRadioButtonClicked(View view) {
// Is the button now checked?
boolean checked = ((RadioButton) view).isChecked();

// Check which radio button was clicked
switch(view.getId()) {
case R.id.radio_pirates:
if (checked)
// Pirates are the best
break;
case R.id.radio_ninjas:
if (checked)
// Ninjas rule
break;
}
}

如果我必须在同一 Activity 的另一个类中调用此函数,例如 AsyncTask 类或其他类。我将如何成功地做到这一点?我对参数感到困惑。我应该这样做吗:

View view; //local variable
onRadioButtonClicked(view); // it gives an error of being uninitialized

或者我应该用一个空值初始化它,比如:

View view = null;
//local variable onRadioButtonClicked(view); //this gives a null pointer exception

如何在参数没有问题的情况下成功调用此函数?

最佳答案

通常您不会自己调用onRadioButtonClicked() 方法。你应该在 android 中使用它的方式是在你的 xml 中设置 onClick 属性,就像这样 onClick:onRadioButtonClicked。这样,当用户单击按钮时,android 操作系统会为您调用该方法。

android 处理按钮按下等事件的方式是使用回调方法。您可以通过调用 radioButton.setOnClickListener() 并传入您自己创建的 radioButtonOnClickListener 以编程方式设置单选按钮的回调。也可以如上所述在xml中设置。如果您的类中有类似的方法,您应该在 xml 中声明 onclick。

一般情况下,请阅读此内容以获取 onclick 的 View

http://martin.cubeactive.com/android-onclicklitener-tutorial/

这里是一些 radioButtonCode 的例子,所以你可以看到一个实际的例子 https://github.com/asabbarwal/SimpleRadioButton

关于java - 如何在android中的另一个类中调用带有View类型参数的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25249273/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com