我最近从 Python 迁移到 Android 并被困在这里。
这是我的类声明,用于为接受必要参数的警报对话框创建一个通用函数:
public static AlertDialog.Builder getAlertDialog(String strArray[],
String strTitle, Activity v) {
return new AlertDialog.Builder(v)
.setTitle(strTitle).setItems(strArray,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
}
但是我不能通过这段代码调用这个函数,这给了我一个错误:
getAlertDialog(strArray, strTitle, MakeCall.class).show();
错误是:
the method getAlertDialog(String[], String, Activity) in the type MakeCallAlertDialog is not applicable for the arguments (String[], String, Class<TestActivity>)
我怎样才能正确得到这个?
最佳答案
这样调用:
ButtonClickBySani(R.id.btnsehrabandi, sehrabandiActivity.class);
定义:
private void ButtonClickBySani(int ButtonId, final Class<? extends Activity> ActivityToOpen)
{
Button btn;
// Locate the button in activity_main.xml
btn = (Button) findViewById(ButtonId);
// Capture button clicks
btn.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
startActivity(new Intent(getBaseContext(), ActivityToOpen));
// Start NewActivity.class
//Intent myIntent = new Intent(getBaseContext(), ActivityToOpen);
// startActivity(myIntent);
}
});
}
关于java - Android如何将Activity.class作为函数的参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15229324/