我在多个活动中获得了相同的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
}
}
}
但是我没有上下文或其他东西来打开一个新的活动/关闭从中触发该NavigationItem事件的活动。
我怎样才能做到这一点?
最佳答案
有两种方法
1.使用构造函数参数将上下文传递给该NavigationViewListener
//add these lines to your NavigationViewListener
private Context context;
public NavigationViewListener(Context context){
this.context=context;
}
来自活动传递上下文
new NavigationViewListener(YourActivity.this)
2.使用界面与活动交谈。