SYSTEM_KDです。
先日、EclipseへAndroid5.0のSDKを導入し、「Android5.0 LollipopのSDKをいれてみた」という記事を書いたのですが、せっかくAndroid5.0のSDKを導入したんだから、ちょっとこれぞ「5.0」なことを試してみようと思い、CardViewを試してみたのですが、ハマりまくったのでちょっとまとめておきます。
まず、CardViewですが、最近Google製のアプリなんかでよく使われている
こんな感じのカード状のビューのやつです。
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へ追加します。
次に、インポートした「cardviewプロジェクト」のプロパティを開き「Android」を選択「ライブラリー」にチェックを入れます。
チェックを入れたら、今度はエラーが出ているプロジェクト(CardViewを使おうとしているやつ)のプロパティを開き「Android」を選択。ライブラリーの追加で先ほどインポートした「cardview」を選択します。
すると、、、なんということでしょう、エラーが消えたではありませんか。
最後に、念のため「cartview」と実行したいプロジェクトを両方ともクリーンすれば、異常終了せず実行されると思います。(※さっき消したコードも復活させておいて大丈夫です)
Android Studioだと、さくっと実行できたのですが、Eclipseでは難儀しました。。
そろそろ、Android Studioに移りどきなのかなーとか思っみたり。
0 件のコメント:
コメントを投稿