2016-04-18 71 views
0

什麼我已經有:ResourcesNotFoundException的棒棒糖預設備

這是我的ImageView:

<ImageView 
     android:id="@+id/play_pause" 
     android:layout_width="match_parent" 
     android:layout_height="@dimen/timer_button_layoutHeight" 
     app:srcCompat="@drawable/play_button_vector" 
     android:onClick="startOrPauseTimer"/> 

我使用的是Android插件版本2.0:

classpath 'com.android.tools.build:gradle:2.0.0' 

我在應用程序級別的build.gradle中的android的defaultConfig中啓用了矢量可繪製支持庫標誌:

vectorDrawables.useSupportLibrary = true 

我還增加了矢量繪製支持庫的依賴:

compile 'com.android.support:support-vector-drawable:23.2.1' 

在活動類的,我基於點擊聽衆動態變化的矢量繪製:

playPauseButton = (ImageView) findViewById(R.id.play_pause); 
playPauseButton.setImageResource(R.drawable.play_button_vector); 

問題:

我收到資源找不到預前的異常ipop設備。該代碼適用於棒棒糖向前。

android.content.res.Resources $ NotFoundException:文件 RES /從繪製資源ID#0x7f020119

繪製/ play_button_vector.xml我可以在圖像應該是地方什麼也看不見。但是,如果我點擊該圖像所在的位置,它會被clickListener捕獲。我究竟做錯了什麼?

+0

您正在轉換任何'SVG'爲矢量? –

+0

是的,我收到了SVG文件,然後我將它作爲矢量繪製導入。 –

+0

請嘗試使用默認向量。從SVG做起也給我錯誤。對於默認向量,它將在沒有您嘗試的所有上述內容的情況下運行 –

回答

1

試試這個,而不是ContextCompat.getDrawable()。

Drawable d = AppCompatDrawableManager.get().getDrawable(context, resID); 
0

我嘗試了上面提到的所有解決方案。沒有爲我工作。對我來說唯一的工作很簡單,就是將所有的支持庫更新到最新版本,因爲這個bug已經修復了。所以我簡單做了下面的事情,建立gradle更新的SDK和支持到25.

android { 
    compileSdkVersion 25 
    buildToolsVersion "25" 
    defaultConfig { 
     targetSdkVersion 25 
    } 

} 
In dependencies 

    compile 'com.android.support:appcompat-v7:25.1.0' 
    compile 'com.android.support:design:25.1.0' 
    compile 'com.android.support:recyclerview-v7:25.1.0' 
相關問題