2014年10月20日月曜日

EclipseにAndroid5.0のSDKを導入してCardViewを使おうとしたらエラーが出て使えない

SYSTEM_KDです。

先日、EclipseへAndroid5.0のSDKを導入し、「Android5.0 LollipopのSDKをいれてみた」という記事を書いたのですが、せっかくAndroid5.0のSDKを導入したんだから、ちょっとこれぞ「5.0」なことを試してみようと思い、CardViewを試してみたのですが、ハマりまくったのでちょっとまとめておきます。

まず、CardViewですが、最近Google製のアプリなんかでよく使われている

cardview

こんな感じのカード状のビューのやつです。

Android5.0からは、CardView用のウィジェットが追加されましたので、それを試そうと思い、このページを参考に(というかほぼコピー)してみたところ、

・・・・エラーです

エラー内容としては。。

No resource identifier found for attribute 'cardCornerRadius' in package

となっています。

どうも、


xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view"
android:layout_gravity="center"
android:layout_width="200dp"
android:layout_height="200dp"
card_view:cardCornerRadius="4dp">

この部分に問題がありそうです。

とりあえず、問題となっている部分を消してみます

エラーはでなくなったので、実行してみると、エラーで強制終了しました。。

エラー内容としては。。

android.view.InflateException: Binary XML file line #11: Error inflating class android.support.v7.widget.CardView

android.support.v7」がないから?といった雰囲気の様です。
そもそも、1行おかしいとかというレベルの問題ではなさそう。。


ここから、「android support library」をlibsに追加したりと、色々やった挙句、何とかまともに動かす方法を発見できました。


方法としては、こうです。

まず、「android-sdks」のディレクトリへアクセスし、「/extras/android/support/v7/cardview」をインポートし、Eclipseへ追加します。

eclipse_i1

eclipse_i2

次に、インポートした「cardviewプロジェクト」のプロパティを開き「Android」を選択「ライブラリー」にチェックを入れます。

チェックを入れたら、今度はエラーが出ているプロジェクト(CardViewを使おうとしているやつ)のプロパティを開き「Android」を選択。ライブラリーの追加で先ほどインポートした「cardview」を選択します。

すると、、、なんということでしょう、エラーが消えたではありませんか。

最後に、念のため「cartview」と実行したいプロジェクトを両方ともクリーンすれば、異常終了せず実行されると思います。(※さっき消したコードも復活させておいて大丈夫です)

Android Studioだと、さくっと実行できたのですが、Eclipseでは難儀しました。。
そろそろ、Android Studioに移りどきなのかなーとか思っみたり。

0 件のコメント:

コメントを投稿