我有一个导航按钮,我在每个类中使用,并希望在包含所有公共代码的类中设置其onClickListener。但是我得到了一个
"The method startActivity(Intent) is undefined for the type new View.OnClickListener(){}"
startActivity(i)中的错误。
相关代码是:
public static void initiateNavigationButton(Context context, View view, int layoutResource) {
final Context classContext = context;
LayoutInflater inflater = LayoutInflater.from(classContext);
View layout = inflater.inflate(layoutResource, (ViewGroup) view);
Button navigationButton = (Button) layout.findViewById(R.id.navigation_button);
navigationButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(classContext, HomeActivity.class);
startActivity(i);
}
});
}
答案 0 :(得分:3)
您在实现View.OnClickListener
的内部类中。
该类没有可以调用的startActivity
方法,因此您需要将其包装以访问父活动的方法。假设您的班级名称为“MyActivity”,请将行startActivity(i);
更改为
MyActivity.this.startActivity(i);