我正在尝试使用搜索栏的值更新textview,并且我在设置OnSeekBarChangeListener时遇到问题.我没有任何编译错误,但每次我尝试运行应用程序时,都会得到一个空指针异常.
错误说:
尝试在空对象引用上调用虚方法'void android.widget.SeekBar.setOnSeekBarChangeListener(android.widget.SeekBar $ OnSeekBarChangeListener)'
我不能为我的生活找出原因,尽管通过StackOverflow拖网.每个类似的问题,或者如何设置OnSeekBarChangeListener的教程似乎都暗示我完全按照自己的意思行事.救命!
public class MainActivity extends AppCompatActivity { public TextView time; public SeekBar bar; @Override protected void onCreate(Bundle savedInstanceState) { time = (TextView) findViewById(R.id.time); bar = (SeekBar) findViewById(R.id.bar); super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); bar.setOnSeekBarChangeListener(listener); } private SeekBar.OnSeekBarChangeListener listener = new OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { time.setText((String.valueOf(progress/100) + ":" + String.valueOf(progress % 100))); } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { } };}
prograde.. 8
我会尝试设置这些行
super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
首先在onCreate方法中,然后尝试使用找到seekBar视图
bar = (SeekBar) findViewById(R.id.bar);
请让我知道它是否解决了你的问题!
findViewById()方法将尝试查找具有指定ID的视图.但要做到这一点,它必须知道哪个布局文件用于活动,以便它知道在哪里搜索.这就是你用setContentView指出的,这就是它必须先来的原因.
我会尝试设置这些行
super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
首先在onCreate方法中,然后尝试使用找到seekBar视图
bar = (SeekBar) findViewById(R.id.bar);
请让我知道它是否解决了你的问题!
findViewById()方法将尝试查找具有指定ID的视图.但要做到这一点,它必须知道哪个布局文件用于活动,以便它知道在哪里搜索.这就是你用setContentView指出的,这就是它必须先来的原因.