如何使用setOnSeekBarChangeListener(this);在android?

时间:2014-04-17 18:51:24

标签: android textview seekbar

我已经下载了最新的Android SDK。我正在尝试使用搜索栏来更改textView的文本大小。但问题是当我写这些行时

bar = (SeekBar) findViewById(R.id.seekBar1);
bar.setOnSeekBarChangeListener(this);

发生错误。如果我评论此行//bar.setOnSeekBarChangeListener(this);而不是正常运行,但文字大小没有变化。我尝试了太多方法,但应用程序没有摆脱这个错误。 http://pastebin.com/2HTAXyvY这是我的java文件和http://pastebin.com/UcT3RBXL的链接,这是错误日志。

请帮我理解错误。为什么会这样?

2 个答案:

答案 0 :(得分:1)

您真正的问题是bar为空。检查XML文件以确保:

  1. 您正在加载包含bar
  2. 的正确XML文件
  3. 您使用正确的ID来查找bar
  4. 确保您的ID拼写正确

答案 1 :(得分:0)

您使用错误的布局作为fragment_main而不是activity_main.xml。正如您在活动中看到的那样:

setContentView(R.layout.activity_main);

您正在使用activity_main布局。而在你的片段中:

inflater.inflate(R.layout.fragment_main, container, false);

您使用fragment_main.xml

最简单的解决方案是复制/粘贴fragment_main.xml内的所有activity_main.xml元素。并删除这些行:

if (savedInstanceState == null) {
    getSupportFragmentManager().beginTransaction()
            .add(R.id.container, new PlaceholderFragment())
            .commit();
}

调用您的Fragment并将其显示在FrameLayout内(在 activity_main.xml 中)

从Fllo复制