私は自分のアクティビティでImageViewのベクターを使用していますが、アプリはAndroid 7.0で正常に動作しますが、Android 4.4ではクラッシュします。 LogcatはResources$NotFoundException
と言っています。私はここにstackoverflowで投稿されたソリューションを試してみましたが、どれもうまくいかないようです。
これは私が試した解決策です。
- は、XMLファイルに
app:srcCompat
で活動のOnCreateイベントで私のGradleファイルdefaultConfig { vectorDrawables.useSupportLibrary = true }
追加に置き換え
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
android:src
これをこれを追加しました。
これは、これはJAVAファイル内のコード
ImageView detail_share;
detail_share = (ImageView) findViewById(R.id.details_share);
detail_share.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// code for sharing item
}
});
また、エラーがビーイングのにもかかわらず、二ImageViewのではなく、最初の1で発生しているXML
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/ic_arrow_back_white_24dp"
android:tint="@color/colorPrimary"
android:id="@+id/details_back"
android:layout_margin="15dp"
android:layout_alignParentStart="true"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/share"
android:tint="@color/colorPrimary"
android:id="@+id/details_share"
android:layout_margin="15dp"
android:layout_alignParentEnd="true"/>
</RelativeLayout>
で私のコードですまったく同じ。私は両方の画像をjavaファイルでも同じように扱っています。