2017-07-06 38 views
0

我正在嘗試在導航抽屜中使用seekbar。我的錯誤是什麼?在沒有導航抽屜的應用程序中沒有問題。謝謝。SeekBar on Navigation抽屜

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) { 

     } 
    }); 

enter image description here

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.SeekBar.setOnSeekBarChangeListener(android.widget.SeekBar$OnSeekBarChangeListener)' on a null object reference 
+0

? – Aznhar

+0

seekBar爲null添加布局xml –

+0

我創建了seekbar.xml並添加了activity_main_drawer.xml - app:actionLayout =「@ layout/seekbar」 –

回答

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(); 

您需要首先獲得標題的視圖和然後在其中找到你的Seek吧

如果你的觀點不在頭上,那麼這個w不工作。

你需要你在你的activity_main.xml中創建它來創建自己的自定義導航抽屜