我正在尝试在导航栏中使用搜索栏。我的错是什么?在没有导航抽屉的应用程序中没有问题。谢谢。
public class MainActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener {
TextView textView;
SeekBar seekBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
seekBar = (SeekBar) findViewById(R.id.seekbar);
textView = (TextView) findViewById(R.id.txtView);
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
textView.setText(String.valueOf(progress));
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.SeekBar.setOnSeekBarChangeListener(android.widget.SeekBar$OnSeekBarChangeListener)' on a null object reference
答案 0 :(得分:0)
我认为您的搜索栏位于导航抽屉的标题视图中,您可以:
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
View header = navigationView.getHeaderView(0);
profile_name = (TextView) header.findViewById(R.id.profile_name);
profile_email = (TextView) header.findViewById(R.id.profile_email);
profile_image = (ImageView) header.findViewById(R.id.imageView);
setNavigationHeader();
您首先需要获取Header的视图,然后在其中找到您的Seek栏
如果您的视图不在标题中,那么这将无效。
您需要创建自己的自定义导航抽屉