我在多个活动上获得了相同的导航视图,因此我希望有一个自己的类来实现此导航视图的侦听器,而不是在每个活动中使用相同的代码。
所以我得到了这门课:
public class NavigationViewListener implements NavigationView.OnNavigationItemSelectedListener{
@Override
public boolean onNavigationItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.nav_my_profile) {
// Open new Activity here
}
}
}
但是我没有上下文或其他东西来打开一个新活动/关闭触发此导航项事件的活动。
我该怎么做?
有两种
方式
1. 使用构造函数参数将上下文传递给该导航视图侦听器
//add these lines to your NavigationViewListener
private Context context;
public NavigationViewListener(Context context){
this.context=context;
}
从这样的
活动传递上下文 new NavigationViewListener(YourActivity.this)
2.使用界面与活动对话。