私は Android 開発に不慣れなので、これは簡単な質問である可能性があります。そうである場合はお詫び申し上げます。かなりの時間をかけて検索しましたが、機能するものは見つかりませんでした。
プロジェクトで GridLayout を使用しようとしていますが、API の下位バージョンをターゲットにできるように Android サポート ライブラリを使用するのが理想的です。GridLayout をグラフィカル レイアウト デザイナーにドラッグすると、14 より古い API バージョン用の互換性ライブラリが必要であることを説明するメッセージが表示され、このライブラリをインストールするかどうかを尋ねられます。「インストール」を押して Eclipse に任せましたが、Eclipse グラフィカル レイアウト デザイナーにエラーが表示されます:
The following classes could not be instantiated:
- android.support.v7.widget.GridLayout
See the Error Log ( Window > Show View) for more details.
(スクリーンショット)
エラーログから、
android.support.v7.widget.GridLayout failed to instantiate.
これがスタックトレースです
このエラーを検索すると、この SO スレッドが見つかりました。これは有望に思えました。Java、Eclipse、および ADT のバージョンを確認しましたが、すべて最新のようです (Java 7 アップデート 17、Eclipse Juno リリース、ADT 21.1)。更新チェックが邪魔にならないように、私はその SO ユーザーがどのようにプロジェクトをセットアップしたかを調べました: gridlayout のライブラリ プロジェクト、メイン プロジェクト内のこのライブラリへのプロジェクト参照、およびメイン プロジェクトの libs にコピーされた gridlayout jarフォルダ。Eclipse の「互換性ライブラリのインストール」メッセージに続いて、gridlayout ライブラリ プロジェクトが既に作成されていましたが、プロジェクト参照が設定されておらず、gridlayout jar がコピーされていませんでした。私はこれらの両方を行いましたが、それでも GridLayout はインスタンス化できません。
検索を続けたところ、別の SO スレッドが見つかりました。そのスレッドはEclipseを使用していませんが、答えをEclipseの同等のものに翻訳しようとしましたが、これは上記のスレッドで与えられたものとほぼ同じでした。(gridlayout jar をプロジェクトの libs フォルダーにコピーし、gridlayout からライブラリ プロジェクトを作成し、メイン プロジェクト内からそのライブラリ プロジェクトへのプロジェクト参照を追加します。) また、gridlayout jar がメイン プロジェクトのビルド パス上にあることも確認しました。(スクリーンショット)
関連するStyling Android blogpostの指示にも従おうとしましたが、さらに悪いことに、GridLayout をプロジェクトにドラッグしようとすると、RelativeLayoutRule.onDropped() failed:
java.lang.NullPointerException
with this stack traceとInitializing project state
with this stack trace の 2 つのエラーがスローされます。"Initializing project state" スタック トレースに記載されている IOException に基づいて、問題は Android SDK のインストール場所にある可能性があると推測しました: %APPDATA%\Local\Android
. 最終的にSDKをアンインストールして再インストールしようとしまし%PROGRAMFILES%\Android
たが、うまくいきませんでした。
ここからどこへ行けばいいのかよくわかりません。誰かが私に正しい方向への指針を与えることができれば、本当に感謝しています!