我在几个活动中获得了相同的NavigationView,因此我希望有一个自己的类来实现此NavigationView的监听器,而不是在每个活动中都有相同的代码。
所以我上了这堂课:
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
}
}
}
但我没有上下文或者其他东西来打开一个新的Activity /关闭触发此NavigationItem事件的那个。
我该怎么做?
答案 0 :(得分:1)
有两种方式 1.使用构造函数参数
将上下文传递给NavigationViewListener//add these lines to your NavigationViewListener
private Context context;
public NavigationViewListener(Context context){
this.context=context;
}
来自活动传递上下文,如此
new NavigationViewListener(YourActivity.this)
2. 使用界面与活动对话。