完全n00b在android编程中遇到一个令人尴尬的问题,这就是了。例如,我有一个带有如下视图参数的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;
}
}
如果我必须在同一活动的另一个类中调用此函数,例如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的一般视图
http://martin.cubeactive.com/android-onclicklitener-tutorial/
这是一些radioButtonCode的示例,因此您可以看到一个正在使用的https://github.com/asabbarwal/SimpleRadioButton
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句