设置自定义进度条时NoSuchMethodError

时间:2015-06-07 21:39:33

标签: android android-progressbar nosuchmethoderror

我正在使用自定义进度条,它可以在我的手机上正常使用。但是,我创建了我的应用程序的平板电脑布局并在模拟器上尝试它,它给了我这个错误消息 - NoSuchMethodError
以下是我设置自定义进度条的代码段: 第34行是我设置interterminateDrawable的地方。 最小sdks版本为14

mProgressBar = (ProgressBar) findViewById(R.id.progressBar);
    mProgressBar.setVisibility(View.INVISIBLE);
    mProgressBar.setIndeterminateDrawable(getDrawable(R.drawable.progress));

这是日志:

java.lang.NoSuchMethodError: koemdzhiev.com.blinkmessage.LoginActivity.getDrawable
        at koemdzhiev.com.blinkmessage.LoginActivity.onCreate(LoginActivity.java:34)
        at android.app.Activity.performCreate(Activity.java:5008)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
        at android.app.ActivityThread.access$600(ActivityThread.java:130)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:137)
        at android.app.ActivityThread.main(ActivityThread.java:4745)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:511)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
        at dalvik.system.NativeStart.main(Native Method)

2 个答案:

答案 0 :(得分:1)

在API级别21中添加了Context上的getDrawable()。您的平板电脑可能正在运行旧版本。

  

最小sdks版本为14

构建工具应该抱怨您在这里使用minSdkVersion。将getDrawable()提升为21,或使用其他内容,例如Resources上的Resources方法(您可以通过调用getResources()获取var imagecount = 1; function slider(element) { var totalimage = 11; var image = document.getElementById("slider-img"); imagecount = imagecount < totalimage ? imagecount + Number(element) : 1; if (imagecount < 1) { imagecount = 1; }; image.src = "images/img" + imagecount + ".png"; console.log(imagecount) } window.onload = function() { slider(0) }你的活动)。

答案 1 :(得分:0)

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
    {
        seekBar.setProgressTintList(ColorStateList.valueOf(ContextCompat.getColor(main_activity, R.color.your_color)));
    }
    else
    {
        seekBar.getProgressDrawable().setColorFilter(main_activity.getResources().getColor(R.color.your_color), PorterDuff.Mode.MULTIPLY);
    }